SIP消息

SIP消息有两种类型:从客户机到服务器的请求消息(Request)和从服务器到客户机的响应消息(Response)。

呼叫控制请求:

  --INVITE:发起呼叫,并对会话进行描述

  --ACK:主叫确认收到被叫发送的对INVITE的确认响应

  --BYE:释放连接,可由主叫方发起,也可由被叫方发起

  --CANCEL:主叫取消呼叫,在连接建立起来之前发送

注册请求:

  --REGISTER:在注册服务器上注册用户

能力查询请求:

  --OPTIONS:查询服务器的能力

扩展操作:

  --INFO:传递信息

响应消息:

服务器向客户端反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应。

sip消息格式:

  SIP消息由一个起始行、消息头、一个标志消息头结束的空行及作为可选项的消息体组成。SIP消息的起始行分为请求行(Request-Line)和状态行(Status-Line)两种。其中,请求行是请求消息的起始行,状态行是响应消息的起始行。可见,请求消息包含请求行、消息头、空行和消息体;响应消息包括状态行、消息头、空行和消息体。

请求消息和响应消息都包括SIP消息头字段和SIP消息体字段。SIP消息头主要用来指明本消息的发起方和接受方,以及经过多少跳转等基本信息;SIP消息体主要用来描述本次会话具体实现方式;通过换行符区分命令行和每一条参数行。

  消息头:Call-id;

  参数行:Via、From、To、Contact、Csq、Content-length、Max-forward、Content-type、White Space、SDP等。

时间: 2024-08-26 11:45:50

SIP消息的相关文章

在SIP消息中PRACK的含义和使用

PRACK英文翻译(the Provisional Response ACKnowledgement),可以把它称之为保平安的信息吧!这样比较形象. SIP中的最终响应被理解是会可靠传输的,例如对应INVITE的200OK响应,UAC会给一个ACK,告诉UAS已经收到了200OK.200与ACK间的可靠性是end-to-end的.PRACK是SIP消息中保证临时消息(101-199)可靠传输的机制.PRACK就是仿照200OK的可靠性响应,对除100以外的1xx临时响应(100是hop-to-h

学习笔记_基于Sipdroid的SIP音视频电话SIP消息接收处理流程

RegisterAgent类 在TransactionClient Fail/Success的回调中, 调用RegisterAgentListener的Register Fail/Sucess接口 public class RegisterAgent implements TransactionClientListener, SubscriberDialogListener { RegisterAgentListener listener; public RegisterAgent(...Reg

RFC学习笔记 -- 5245 ICE & 3261 SIP

---------------------------------------------------------------------------- RFC list: 3550 (rtp/rtcp)  - 3711(srtp) - 5245 (ice) - 3261(sip) - 4575(sip-conference) - 4566(sdp) 5389 (stun) - 5766(turn) - 6455(websocket) - 6865(fec) - 2616(http) -----

Sipdroid实现SIP(六): SIP中的请求超时和重传

目录 一. Sipdroid的请求超时和重传 二. SIP中超时和重传的定义 三. RFC中超时和重传的定义 一. Sipdroid的请求超时和重传 Sipdroid实现SIP协议栈系列, 之前的文章仅涉及了SIP消息的基本概念, 比如: 请求型消息: INVITE, REGISTER... 应答型消息: 100 Trying, 180 Ringing, 200 OK, BYE, ACK... 携带SDP信息 携带认证信息 这篇文章更深入一些, 介绍了SIP作为一种可靠传输, 涉及到的超时和重传

RFC 3261 SIP学习笔记

RFC 3261 SIP 1.SDP (rfc 4566) 1)用于交换参数 2)内容分三部分Session description, Time description and Media description (m-line) 3)SDP用于描述会话的媒体属性,通常放在SIP协议的消息体中携带,基于文本的编码方式 format: Session description v=  (protocol version) o=  (originator and session identifier)

JAIN SIP API 简介

摘要 本文介绍如何在 Java SE 上使用会话发起协议 (SIP) 开发客户端应用程序.文中展示 JAIN SIP API 这种强大的"SIP 堆栈".首先介绍一个简单的 IM 应用程序,然后对其进行剖析来了解该技术. 关于 JAIN SIP API 集成网络 Java API (JAIN) 是一个管理电信标准的 JCP 工作组.会话发起协议 (SIP) 是一种标准通信协议,之前的文章中已对其进行了讨论.将 Java 与 SIP 结合起来就得到了 JAIN SIP API,这是一种强

[SIP01]SIP Header Fields里面各字段用途

INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob <sip:[email protected]> From: Alice <sip:[email protected]>;tag=1928301774 Call-ID: [email protected] CSeq: 314159 INVITE C

SIP包的分析

今天工作碰到了两个装置之间SIP包的抓取和分析,然后结合RFC3261的文档说明,记录下今天所理解的. 1.SIP协议:SIP的详细RFC文档可见:rfc3261Session Initiation(会话初始协议),允许使用Internet端点(用户代理)来寻找参与者并且允许建立一个可共享的会话描述.SIP允许创建基础的 networkhosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求.可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会

[转]SIP穿越NAT&amp;FireWall解决方案

原文链接(也是转载)http://blog.csdn.net/yetyongjin/article/details/6881491.我修改了部分错字. SIP从私网到公网会遇到什么样的问题呢? 1. 包的地址转换.2. SIP消息里面的SIP地址转换.3. SIP消息里面的SDP中的RTP地址转换. 网络现存结构复杂,SIP服务提供商并不一定是NETWORK提供商,很难要求客户只能使用某种方式的NAT&FireWall.如何找出一种可以满足各种网络的SIP应用解决方案呢? NAT和Firewal