SIP消息由三部分组成,即:开始行(start line)、消息头(header)、正文(body)
Start-line:
请求行Request-line
消息为 request消息时使用request-line
Request-Line = Method SP Request-URI SP SIP-Version CRLF
状态行Status-line
消息为响应消息时使用Status-line
Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLF
请求行Request-line由消息方法+Request-URI+SIP版本组成:
消息方法: 以下列出了六种消息方法
REGISTER: 注册联系信息
INVITE: 发起会话请求
ACK:对 INVITE 请求的响应的确认
CANCEL: 取消请求
BYE: 终结会话
OPTIONS: 查询服务器能力
Request-URI: 指示请求的用户或者服务的地址信息
SIP-version: 请求和响应消息都需要包含SIP版本信息
举例: INVITE sip:[email protected] SIP/2.0
状态行Status-line由SIP版本+状态码+原因短语组成
举例: SIP/2.0 200 OK
---------------------------------------------------------------
消息头:
格式: 字段名(field-name): 参数值(field-value)
Example: REGISTER sip:registrar.zte.com SIP/2.0
Via: SIP/2.0/UDP bobspc.zte.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
To: Bob <sip:[email protected]>
From: Bob <sip:[email protected]>;tag=456248
Call-ID: [email=843817637684230@998sdasdh09]843817637684230@998sdasdh09[/email]
CSeq: 1826 REGISTER
Contact: <sip:[email protected]>
Expires: 7200
Content-Length: 0
上面via、max-forwards、to、from、call-id等这些都是些常有的头域,SIP的头域总共有44个之多。
被叫UE通过SDP知道了主叫的IP地址和承载能力,是否就可以欺骗SS说呼叫失败,然后通过主叫IP地址和主叫UE通信,这样就绕开了SS的控制了。对于公网用户我们使用SBC是否就有这方面的考虑呢?
SIP消息结构(转)
猜你喜欢
转载自jyqc688.iteye.com/blog/1700300
今日推荐
周排行