SIP知识
SIP是一个计算机网络中应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。
SIP消息分为两种:客户端到服务器的请求,服务器到客户端的响应.
SIP消息是由一个起始行(start-line),一个或多个字段组成的消息头(field),一个标志消息头结束的空行(CRLF),作为可选项的消息体(messge – body)
描述消息体(message-body)的头称为实体头(entity-header)
起始行分为:
请求行(Request – Line):请求消息的起始行
状态行(Statue – Line) :响应消息的起始行
SIP规定了六种方法:INVITE ACK CANCEL OPTIONS BYE REGISTER
INVITE:用于邀请用户或服务参加一个会话
ACK:请求用于客户端向服务器证实收到对INVITE请求的最终应答
CANCEL:用于取消一个Call-ID From To Cseq 字段相同正在进行的请求,但取消不了已完成的请求
OPTIONS:用于向服务器查询其能力
BYE:用于结束会话
REGISTER:用于客户向注册服务器注册用户位置等信息
SIP消息头字段:
via 字段给出请求消息迄今为止经过的路径
Request-URI 注册请求的目的地址
Max-Forwords 请求消息允许被转发的次数
From 请求的发起者
To 请求的目的接收方
Call-ID 唯一标识特定邀请或某个客户机的注册请求消息
Cseq 标识服务器发出的不同请求,若Call-ID相同Cseq值必须各不相同
Contact 给出一个URL,用户可以根据此URL进一步的通讯
Content-Length 消息体的大小
Content-Type 消息体的媒体类型
Expires 消息内容截止的日期和时间
User-Agent 发起请求的用户代理客户及相关的信息
SIP消息体:
v 协议的版本
o 与会话所有者的相关参数
s 会话标题或会话名称
c 真正流媒体使用的IP地址
t 会话的开始时间与结束时间
m 会话所支持的媒体类型
a 媒体的属性行
SIP状态码定义如下:
1XX:请求已经收到继续处理请求
2XX:行动已成功的接收到
3XX:为完成呼叫请求还需采取进一步动作
4XX:请求有语法错误不能被服务器端执行,客户端需修改请求,再次重发
5XX:服务器出错不能执行合法请求
6XX:任何服务器都不能执行请求
数据包拆分
1. 根据时间来拆分,利用-A 起始时间和-B 截止时间来提去某个时间段的数据。
用法:editcap -A <起始时间> -B <截止时间> <源文件名> <目的文件名>
示例:
editcap –A "2014-07-12 12:55:00" –B "2014-07-12 12:56:00" eth0–rtp.cap out_rtp.cap
2.按packge数量拆分为多个文件
用法:editcap -c <每个文件的包数> <源文件名> <目的文件名>
示例:
editcap -c 100 dump.pcap test.pcap
数据包合并
在wireshark中通过filter过滤出sip信令,但是在多个文件中,megecap可以将多个pcap文件合并为一个文件。
用法:mergecap -w <输出文件> <源文件1> <源文件2> …
示例:
mergecap -w compare.pcap a.pcap b.pcap
未经允许不得转载:天府数据港官方信息博客 » 从呼叫中心项目中学习到的一些知识
客官点个赞呗! (1)