SIP响应消息和头字段

简介: SIP响应消息和头字段

响应消息格式如下:


              Response=Status-Line

                                *(general-header

                                 I response-header

                                 I entity-header)

                                 CRLF

                                              [message-body]


      状态行(Status-Line)以协议版本开始,接下来是用数字表示的状态码(Status-Code)及相关的文本说明,最后以回车键结束,各个元素间用空格字符(SP)间隔,除了在最后的CRLF序列中,这一行别的地方不许使用回车或换行字符。


       Status-Line=SIP-version SP Status-Code SP Reason-Phrase CRLF

       SIP协议中用三位整数的状态码(StatusCode)和原因码(Reason Code)来表示对请求做出的回答。状态码用于机器识别操作,原因短语(Reason-Phrase)是对状态码的简单文字描述,用于人工识别操作。其格式如下:


Status-Code=Ixx(Informational)

                     I 2xx (Success)

                     I 3xx (Redirection)

                     I 4xx (Client-Error)

                     I 5xx (Server-Error)

                     I 6xx (Global-Failure)

                     I  extension-code


     状态码的第一个数字定义响应的类别,在SIP/2.0中第一个数字有6个值,定义如下:

     • 1xx(Informational):请求已经收到、继续处理请求。

     • 2xx(Uccess):行动已经成功地收到,理解和接受。

     • 3xx(Redirection):为完成呼叫请求,还须采取进一步的动作。

     • 4xx(ClientError):请求有语法错误或不能被服务器执行。客户机需修改请求,然后再重发请求。

     • 5xx(ServerError):服务器出错,不能执行合法请求。

     • 6xx(GlobalFailure):任何服务器都不能执行请求。

     其中,Ixx响应为暂时响应(Provisionalresponse),其他响应为最终响应(FinalResponse)o

SIP消息头字段


      SIP协议的消息头定义与HTTP在语法规则和定义上很相似。每个头字段都遵循以下格式:首先是字段名(Field Name),字段名不分大小写,后面是冒号;然后是字段值,字段值与冒号间可有多个前导空格(LWS)。其格式如下:


             message-header = field-name":"[field-value]CRLF

field-name           = token

             field-value            = *(field-contentILWS)


通用消息头(GeneralheadeT)


      通用头字段适用于请求消息和响应消息,包含的字段有:

      general-header=Accept

                                I Accept-Encoding

                                I Accept-Language

                                I Call-ID

                                I Contact

                                I CSeq

                                I Date

                                I Encryption

                                I Expires

                                I From

                                I Organization

                                I Record-Route

                                I Timestamp

                                I To

                                I User-Agent

                                I Via

     

接下来,介绍通用头字段中各字段的含义:

      • Accept,Accept-Encoding和Accept-Language字段用于客户机在请求消息中给出其可接受的响应的媒体类型、编码方式以及描述语言。用于服务器在415响应(请确认)中表明其可理解的请求消息的媒体类型、编码方式以及描述语言。

      • Call-ID字段:用于惟一标识特定邀请或某个客户机的注册请求,一个多媒体会议可产生多个Call-ID不同的呼叫。

      • Contact字段:给出一个URL,用户可以与此URL建立进一步的通信。

      • Cseq字段:用于标识服务器发出的不同请求,若Call-ID值相同,那么Cseq值必须各不相同。

      • Date字段:反映首次发出请求或响应消息的时间,重发的消息与原先的消息有相同的Data字段值。

      • Encryption字段:表明内容经过了加密处理,这种加密为端到端的加密。

      • Expire字段:它给出消息内容截止的日期和时间。

      • From字段:所有消息中都必须有From字段,此字段给出请求的发起者。

      • Organization字段:它给出发出请求或响应消息的实体所属的组织的名称。

      • Record-Route字段:它给出一个全局可到达的Request-URI,用于标识代理服务器。

      • Time-Stamp字段:给出客户机向服务器发出请求的时间。

      • To字段:所有消息中都必须有To字段,此字段给出请求的目的收方。

      • User-Agent字段:含有与发起请求的用户代理客户机有关的信息。

      • Via字段:它给出请求消息迄今为止经过的路径。

相关文章
|
存储 人工智能
2023 年最好的36款 AI 生产力工具(三)
简介: 本文主要展示了36 款 AI 应用,可以帮助读者更快、更好地工作。每个人都在与ChatGPT交流,从完整的博客文章到特定代码行的功能都在询问。其结果令人惊叹。虽然我们仍在探索如何将这项技术纳入我们的工作流程中,但明显的是,人工智能工具正在改变游戏规则。尽管ChatGPT是目前最受欢迎的,但它远不是首款进入市场的人工智能应用程序。经过Zapier团队的大量研究和测试,总结出了以下36款能够改变工作方式的人工智能生产力工具。
287 1
|
9月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| GAM全局注意力机制: 保留信息以增强通道与空间的相互作用
RT-DETR改进策略【注意力机制篇】| GAM全局注意力机制: 保留信息以增强通道与空间的相互作用
253 3
RT-DETR改进策略【注意力机制篇】| GAM全局注意力机制: 保留信息以增强通道与空间的相互作用
|
5月前
|
监控 JavaScript 前端开发
🎉 Harmony OS Next里的Web组件:网页加载的全流程掌控手册
本文详细解析了Harmony OS Next中ArkUI Web组件的九大生命周期回调,帮助开发者全面掌控网页加载流程。从组件初始化到加载完成,再到异常处理与性能优化,每个阶段都配有具体代码示例和注意事项。内容涵盖关键回调(如aboutToAppear、onPageBegin)的使用场景、网页加载进度监控(FCP/FMP/LCP)、以及前端页面优化实践。通过本文,开发者可以高效管理网页加载过程,提升应用性能与用户体验。
324 0
|
11月前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
Go
一行代码处理字符串,Go语言链式调用技术深度指南
一行代码处理字符串,Go语言链式调用技术深度指南
507 0
|
人工智能 搜索推荐 物联网
未来智能家居技术的发展趋势与应用前景
智能家居技术正在迅速发展,从简单的智能灯泡和智能插座,到智能语音助手和人工智能家居控制系统,其应用范围和功能不断扩大。本文探讨了未来智能家居技术的发展趋势,包括人工智能、物联网、大数据等方面的创新应用,以及智能家居在改善生活品质、提升居住舒适度和节能减排方面的潜力。
567 0
|
监控 网络协议 Linux
在Linux中,如何排查网络连接问题?
在Linux中,如何排查网络连接问题?
|
小程序
【微信小程序】实战案例 -- 向订阅用户发送消息(范例:报名提醒)
【微信小程序】实战案例 -- 向订阅用户发送消息(范例:报名提醒)
619 0
|
Docker 容器
docker 镜像源大全
docker 镜像源大全
108969 3
docker 镜像源大全