SIP transactions and dialogs

2024-05-28 03:18
文章标签 sip transactions dialogs

本文主要是介绍SIP transactions and dialogs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

理解事务(transaction)和对话(dialog)之间的区别是非常重要的。因为我们将在OpenSIPS脚本中使用它们。例如,有键值对属性依附于事务,有对话变量依附于对话。如果你不能识别对话和变量,那么你将很难配置SIP服务器。

transactions and dialogs

A transaction occurs between a user agent client and server and comprises of all the messages from the request to the final response (including all the interim responses).The responses can be provisional, starting with one followed by two digits (for example, 180 Ringing) or final, starting with two followed by two digits (for example, 200 OK). The scope of a transaction is defined by the stack of Via headers of the SIP messages. So, the user agents, after the initial invite, don’t need to rely on DNS or location tables to route the messages.

The ACK request is a special case. For positive replies (2XX), the UAC creates a new transaction and generates a new Contact header and it can be sent straight to the UAS bypassing the proxy. However, for negative replies, it belongs to the INVITE transaction because it is not possible to create a new transaction without the Contact of the other part. In this case, the request is sent to the same proxy as INVITE.

Dialog(对话)对话是两个UAs(user agent) 之间持续一段时间的端到端(peer-to-peer)的SIP 关系. 一个对话由一个Call-ID, 一个local tag 和 一个remote tag来标识.对话过去也叫做 “call leg”。对话的建立是收到UAS的响应(To tag)时开始建立的。收到180响应时建立dialog叫做早期对话(early dialog),收到2XX的应答开始才是真正的dialog建立。

A dialog is a succession of transactions that control the creation, existence, and termination of the dialog. All dialogs do have a transaction to create them and may (or may not) have a transaction to change the dialog (mid-transaction). Additionally,the end-dialog transaction may be missing. (Some dialogs do end based on timeouts rather than on explicit termination.)

按照 rfc3665 的描述,有 11 个基本的会话建立流程。其列出的并不一定是完整的,但是覆盖了最好的例子。前两个流程在这一章节中进行了阐述——成功建立会话 Successful Session Establishment和通过两个代理建立会话 Session Establishment Through Two Proxies。其它的一些将在第11章Implementing SIP Servers中见到。


这篇关于SIP transactions and dialogs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009394

相关文章

macos 系统文件操作时提示 Operation not permitted 异常解决方法 , 通过恢复模式 开启 /关闭 SIP方法

在macos系统中操作系统文件时提示 Operation not permitted  这个异常, 原因是因为在macos 10.11以上版本中默认启用了 SIP( System Integrity Protection )机制对系统文件进行保护,  要解决这个问题我们需要关机, 然后进入mac的恢复模式 :  在按电源键开机的同时, 一直按住 command + r 键 直到出现恢复模式界面后松

RK3568笔记五十八:基于SIP的视频通话测试

若该文为原创文章,转载请注明原文出处。 一、简介 记录SIP的视频通话测试过程,以前有做过GB28181了解过SIP协议,后面由于一些原因,没有在做了,在安防领域上,有很多终端设备使用SIP协议实现视频对讲等功能。 此篇记录交叉编译eXosip和osip,并编写检测的SIP客户端,通过microSIP软件模拟和板子交互过程。 demo有两个功能: 一是:microSIP呼叫设备,设备把语

Sequelize 中文文档 v4 - Transactions - 事务

Transactions - 事务 此系列文章的应用示例已发布于 GitHub: sequelize-docs-Zh-CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. Sequelize 支持两种使用事务的方法: 一个将根据 promise 链的结果自动提交或回滚事务,(如果启用)用回调将该事务传递给所有调用而另一个 leave committing,回滚

SIP信令中的PRACK的含义和使用

简单点说PRACK是对核心网返回100-199响应,又称为非可靠性传输的可靠响应。 PRACK:the Provisional Response ACKnowledgement SIP中的最终响应被理解是会可靠传输的,例如对应INVITE的200OK响应,UAC会给一个ACK,告诉UAS已经收到了200OK。200与ACK间的可靠性是end-to-end的。PRACK是S

SIP协议之匿名呼叫

匿名呼叫是SIP呼叫中的一个特殊业务,原理是构造一个没有个人信息的From头域,其中显示名部分为Anonymous, 这样被叫收到呼入请求时,按照From头域中的显示部分“Anonymous"显显示为Anonymous(匿名)来电。 消息示例如下: INVITE sip:7333@192.168.0.108:5060 SIP/2.0Via: SIP/2.0/UDP 192.168.1.6

.NET客户端实现Redis中的管道(PipeLine)与事物(Transactions)(八)

序言 Redis中的管道(PipeLine)特性:简述一下就是,Redis如何从客户端一次发送多个命令,服务端到客户端如何一次性响应多个命令。 Redis使用的是客户端-服务器模型和请求/响应协议的TCP服务器,这就意味着一个请求要有以下步骤才能完成:1、客户端向服务器发送查询命令,然后通常以阻塞的方式等待服务器相应。2、服务器处理查询命令,并将相应发送回客户端。这样便会通过网络连接,如

Sip协议(三)- 通话接听流程

Sip协议(三)- 通话接听流程 本文主要记录下sip通信下接听的流程. 一: 接听流程 agent接听电话远端在未接听情况下主动挂断电话. 接听流程涉及到的请求有: INVITE,CANCEL,ACK,BYE 具体的过程如下: 二: sip过程 agent收到INVITE INVITE sip:1000@10.0.0.1:10000;transport=tcp SIP/2.0V

自定义Dialog(org.eclipse.jface.dialogs.Dialog)

1、继承Dialog类。 //JFace包和SWT包都有Dialog类,这里继承的是JFace的Dialog类public class LoginDialog extends Dialog {public LoginDialog(Shell parentShell) {super(parentShell);setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICAT

PBV电流检测电阻±0.5% 10W 4-SIP通孔电阻器 脉冲耐受

EAK 电流检测精密电阻器系列为电流检测应用提供 4 端子通孔连接技术。该电阻器上的开尔文连接设计用于轻松安装散热器,即使在 0.0005Ω 至 1Ω 的极低电阻值范围内也能进行高精度测量。 电流检测精密电阻器 4端子通孔设计 电阻值 0.0005Ω 至 1Ω 公差选项为 ±0.5%、±1% 和 ±5% TCR 范围为 <±30 ppm/°C(+20°C 至 +60°C) 合适的散

Mac终端operation not permitted问题、禁用和启用SIP(系统完整性保护)

Mac终端operation not permitted问题、禁用和启用SIP(系统完整性保护) 注意: 仅在必要时临时禁用SIP,并尽快重新启用它。在测试完成后不重新启用SIP将使您的计算机容易受到恶意代码的攻击 文章目录 Mac终端operation not permitted问题、禁用和启用SIP(系统完整性保护)`注意: 仅在必要时临时禁用SIP,并尽快重新启用它。在测试完成后不