关于 SIP 状态机的疑问
做过SIP的人都知道RFC3261中的定义了Invite Client、Invite Server、NON-Invite Client、NON-Invite Server四个Transaction层状态机并用清晰的FSM图来说明,而Dialog层(或叫Transaction User层?)则只是用文字描述了其EARLY和CONFIRMED的状态及其转换,且没有清晰的FSM图。
我调查过一些开源SIP协议栈的Dialog层的状态处理,却各有不同。比如oSIP的Dialog State只包括:EARLY、CONFIRMED、CLOSE三种状态。RFC4235中却描述了五种状态。
请问大家了解Dialog层的FSM是否有特定标准或定义?或相关论述说明?
我调查过一些开源SIP协议栈的Dialog层的状态处理,却各有不同。比如oSIP的Dialog State只包括:EARLY、CONFIRMED、CLOSE三种状态。RFC4235中却描述了五种状态。
请问大家了解Dialog层的FSM是否有特定标准或定义?或相关论述说明?
...全文
相关推荐
sipproxy-sip状态机
本文介绍了一个基于UDP协议的客户端程序,用于实现SIP注册和消息处理流程。程序通过gethostbyname获取目标主机信息,创建UDP套接字,构建服务器地址结构体,并发送数据到指定IP和端口。同时
sip信令超时时间调整
Pjsip在使用过程中,如果网络环境不好,sip信令在交互过程中,会出现超时的情况,此时,sip信令会重复发送信令,知道收到信令的反馈或者sip超时退出通话。 针对上诉的情况,需要修改sip信令的超时时间,以便适应复杂的网络情况。 sip信令的传输代码主要在:pjsip/src/pjsip/sip_transaction.c中。 sip_transaction.c实现了一个状态机,根据sip
基于SIP协议的抓包工具
这通常涉及到状态机的设计,每个SIP消息对应状态机的一个状态转移。5. **图形化展示**:为了直观地展示SIP通信流程,需要实现将解析结果转化为图形化表示。
sip 中的服务器端源码
**状态机管理**: - SIP服务器通常维护一个状态机来跟踪与特定对话相关的请求和响应。
sipml5世界上第一个HTML5 SIP客户端
该项目是世界上首个基于HTML5的SIP客户端,主要实现Base64编解码、字符串与二进制数组(如Uint8Array)间的转换功能,并提供有限状态机基础架构,用于处理底层数据传输与通信协议中的编码操


