SIP协议

SIP协议

SIP协议主要包括 SIP头 SIP内容 和附加内容三个部分

项目格式备注示例
SIP头一行,以\r\n结尾REGISTER sip:172.30.2.35 SIP/2.0\r\n
SIP内容很多行,每行为Key,Value的形式CSeq: 1 REGISTER\r\n
附加内容很多行

1 SIP头

项目格式含义示例
INVITEINVITE sip:miyanhui_t1@172.30.11.79:11870;transport=tcp SIP/2.0
REGISTERREGISTER sip:172.30.2.35 SIP/2.0\r\n
ACKACK sip:miyanhui_t1@172.30.11.79:11870;transport=tcp SIP/2.0
BYEBYE sip:miyanhui_t1@172.30.11.79:11870;transport=tcp SIP/2.0
OPTIONS
PRACK
UPDATE
REFER
MESSAGE

2 SIP内容

项目格式含义示例
ViaVia: SIP/2.0/TCP 172.30.2.35:5060;branch=z9hG4bKe0203a229263-30-2ea3ea\r\n
Tosip:miyanhui_t1@172.30.2.35;tag=AFCAF511D8F\r\n
Fromsip:miyanhui_t3@172.30.2.35;tag=869388A8114\r\n
Call-ID76ea44b5eb44080AE90--4080AE90-1-44b5eb4--4080AE90@172.30.11.89\r\n
CSeq4 INVITE\r\n
Contactsip:miyanhui_t1@172.30.11.79:11870;transport=tcp\r\n
Record-Routesip:172.30.2.35:5060;transport=tcp;ftag=869388A8114;lr\r\n
User-Agent"User-Agent: Vixtel APMVista Agent\r\n
Content-Length指明SIP附加数据的长度0\r\n

3 SIP附加数据

SIP/2.0 100 Trying
Via: SIP/2.0/TCP 172.30.11.76:6726;branch=z9hG4bK.B6X6CR18X;rport=6726
From: <sip:miyanhui_t2@172.30.2.35>;tag=YVwiGtgHV
To: sip:miyanhui_t1@172.30.2.35
Call-ID: 1YYJ-rBnlJ
CSeq: 20 INVITE
Server: Brekeke SIP Server rev.477 Evaluation
Content-Length: 0

转载于:https://www.cnblogs.com/Dennis-mi/articles/7992847.html

### SIP协议概述 SIP(Session Initiation Protocol)是一种应用层协议,主要用于创建、修改和终止多媒体会话。其核心功能在于支持多方通信环境下的会话管理[^2]。 #### SIP的特点 SIP具有高度灵活性和扩展性,能够适应多种网络条件和设备需求。以下是SIP的主要特点: - **轻量级设计**:SIP的设计目标是保持简单性和高效性。 - **互操作性强**:通过标准化接口与其他协议无缝集成。 - **模块化架构**:支持灵活的功能扩展,便于新服务的开发和部署[^3]。 #### SIP的工作原理 SIP协议采用客户端/服务器模型进行交互。具体而言,SIP终端(User Agent Client, UAC)发送请求到另一端(User Agent Server, UAS),后者负责响应这些请求。整个过程涉及以下几个关键环节: 1. **地址解析**:将用户标识符转换为实际可达的位置信息。 2. **会话协商**:双方就媒体类型、编码格式等内容达成一致。 3. **会话控制**:包括但不限于呼叫转移、挂断等功能实现。 #### SIP的消息格式总体描述 SIP消息分为两类——请求消息和状态响应消息。每条消息都由起始行、头域集合以及可选的消息体组成。其中,起始行用于区分不同类型的消息;头部字段携带必要的参数配置信息;而消息体则通常用来传递SDP(Session Description Protocol)描述的内容[^1]。 ```plaintext REQUEST-URI Via From To Call-ID CSeq Contact Max-Forwards User-Agent Content-Type Content-Length ... ``` 以上展示了一个典型SIP报文可能包含的部分常见首部名称列表形式表示法。 #### SIP语法举例 下面给出一段简单的INVITE方法实例代码片段作为参考: ```text INVITE sip:bob@example.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.example.com;branch=z9hG4bK77asddas Max-Forwards: 70 From: Alice <sip:alice@atlanta.example.com>;tag=1928301774 To: Bob <sip:bob@example.com> Call-ID: a0c8d0f0a0b9cde@example.com CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.example.com> Content-Type: application/sdp Content-Length: 142 v=0 o=alice 2890844526 2890844526 IN IP4 pc33.atlanta.example.com s=- c=IN IP4 pc33.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 ... ``` 此段文本展示了如何构建一条标准的SIP邀请请求消息,并附带了相应的SDP负载说明。 #### IMS中的SIP协议 在IMS(IP Multimedia Subsystem)体系结构下,SIP扮演着至关重要的角色。它不仅提供了基础信令能力,还促进了不同业务逻辑之间的互联互通。借助于IMS框架内的特定组件如P-CSCF/I-CSCF/S-CSCF等实体的支持,可以更有效地管理和优化资源分配策略。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值