Sip协议(一)
本文主要介绍sip协议
1: 简介
SIP(Session Initiation Protocol,会话发起协议)是一种应用层协议,它被广泛应用于VoIP(Voice over Internet Protocol,互联网语音通信)中。
SIP协议的主要功能是在网络上建立、修改和终止会话。
SIP 协议用于建立、维护和断开通话会话,可以支持多种媒体类型,如语音、视频和即时消息等。使用SIP协议,用户可以在任何地方,只要有网络连接,就可以进行语音和视频通信,实现真正的全球通信。
SIP协议基于请求/响应模式,类似于HTTP协议。SIP消息分为请求消息和响应消息,请求消息由客户端发送到服务器端,请求某种操作(如建立一个新会话)。服务器端在收到请求后,向客户端发送响应消息,说明请求是否成功。SIP使用统一资源标识符(URI)来识别终端设备,如电话号码或者邮箱地址等。
SIP协议还支持会话描述协议(SDP),它用于在会话开始前交换媒体信息,如音频编码格式、传输方式、带宽等。SDP可以帮助通信双方协商出最佳的媒体参数,提高通话质量.
2: REGISTER
REGISTER sip:101.XXX.xxx.xxx SIP/2.0
Via: SIP/2.0/TCP 192.168.xxx.xxx:40416;rport;branch=xxxx
Max-Forwards: 70
To: <sip:200777@101.XXX.xxx.xxx>
From: <sip:200777@101.XXX.xxx.xxx>;tag=z9hG4bK18048685
Call-ID: 713476808069@192.168.xxx.xxx
CSeq: 2 REGISTER
Contact: <sip:200777@192.168.xxx.xxx:40416;transport=tcp>
Expires: 3600
User-Agent: MVCAgent/1.2.2/V2318A
Authorization: Digest username="200777", realm="101.XXX.xxx.xxx", nonce="xxxx", uri="sip:101.XXX.xxx.xxx", algorithm=MD5, qop=auth, nc=00000001, cnonce="xxx", response="xxxxx"
Content-Length: 0
具体的错误码可以参照:
https://www.kancloud.cn/saystec/freeswitch/2735641
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 192.168.xxx.xxx:40416;rport=33096;branch=z9hG4bK85983;received=124.127.xxx.xxx
From: <sip:200777@101.200.xxx.xxx>;tag=z9hG4bK62550048
To: <sip:200777@101.200.xxx.xxx>;tag=F1tcXNrrpQ28Q
Call-ID: 045201758654@192.168.xxx.xxx
CSeq: 1 REGISTER
User-Agent: FreeSWITCH-mod_sofia/1.10.10-release~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: path, replaces
WWW-Authenticate: Digest realm="101.200.xxx.xxx", nonce="xxxx", algorithm=MD5, qop="auth"
Content-Length: 0