2、INVITE消息
1)头字段填写说明
必选头域如下:
Call-id
Contact
CSeq
From
To
Max-Forwards
Via
Supported
Allow
常用可选头域:
Accept
Authorization
Content-length
Content-type
Record-Route
Route
Require
Proxy-Authorization
Proxy-require
P-asserted-identity
P-prefered-identity
Privacy
2)非鉴权INVITE消息实例
在这个实例中,笔者在本机(192.168.2.161)上使用BOL注册了17899998888号码,呼叫01062230001号码时发送INVITE消息给服务器(192.168.2.89)的软交换,发送INVITE消息参考如下:
INVITE sip:
01062230001
@192
.
168.2
.
89
SIP
/
2.0
Via: SIP
/
2.0
/
UDP
192.168
.
2.161
:
9545
Max
-
Forwards:
70
From
: "Administrator"
<
sip:
17899998888
@192
.
168.2
.
89
>
;tag
=
2dc6e1000081463ba14f7db4e50b8643;epid
=
d6b5434cef
To
:
<
sip:
01062230001
@192
.
168.2
.
89
>
Call
-
ID: 31e72e80d5b04f52aba6cb8be8f3c0c0
@192
.
168.2
.
161
CSeq:
1
INVITE
Contact:
<
sip:
192.168
.
2.161
:
9545
>
User
-
Agent: RTC
/
1.2
Content
-
Type: application
/
sdp
Content
-
Length:
691

v
=
0
o
=-
0
0
IN
IP4
192.168
.
2.161
s
=
session
c
=IN
IP4
192.168
.
2.161
b
=
CT:
1000
t
=
0
0
m
=
audio
56284
RTP
/
AVP
97
111
112
6
0
8
4
5
3
101
k
=
base64:fGmazgf5GXZfJxZ27G9A7rxA4B7KX0pHrjYELKphPog
a
=
rtpmap:
97
red
/
8000
a
=
rtpmap:
111
SIREN
/
16000
a
=
fmtp:
111
bitrate
=
16000
a
=
rtpmap:
112
G7221
/
16000
a
=
fmtp:
112
bitrate
=
24000
a
=
rtpmap:
6
DVI4
/
16000
a
=
rtpmap:
0
PCMU
/
8000
a
=
rtpmap:
8
PCMA
/
8000
a
=
rtpmap:
4
G723
/
8000
a
=
rtpmap:
5
DVI4
/
8000
a
=
rtpmap:
3
GSM
/
8000
a
=
rtpmap:
101
telephone
-
event
/
8000
a
=
fmtp:
101
0
-
16
a
=
encryption:optional
m
=
video
61432
RTP
/
AVP
34
31
k
=
base64:W5uTU8sIQjJVPWyRF31GZouVwAHFtE1cAmblK
+
mvDdI
a
=
recvonly
a
=
rtpmap:
34
H263
/
90000
a
=
rtpmap:
31
H261
/
90000
a
=
encryption:optional
其中m行表示支持的媒体编码,其中“m=audio 56284 RTP/AVP 97 111 112 6 0 8 4 5 3 101”指明了几种支持的音频媒体类型,“m=video 61432 RTP/AVP 34 31”指明了几种支持的视频媒体类型。软交换服务器(192.168.2.89)接收到INVITE消息后,即刻发送了100 trying消息,如下所示:
SIP
/
2.0
100
Trying
Via: SIP
/
2.0
/
UDP
192.168
.
2.161
:
9545
From
: "Administrator"
<
sip:
17899998888
@192
.
168.2
.
89
>
;tag
=
2dc6e1000081463ba14f7db4e50b8643;epid
=
d6b5434cef
To
:
<
sip:
01062230001
@192
.
168.2
.
89
>
Call
-
ID: 31e72e80d5b04f52aba6cb8be8f3c0c0
@192
.
168.2
.
161
CSeq:
1
INVITE
Content
-
Length:
0
软交换服务器(192.168.2.89)查找被叫号码消息,并发送INVITE消息给被叫的地址,接收到被叫的100 trying消息,而后接收到180 Ringing消息,软交换服务器给主叫方也发送180 Ringing消息,告知被叫已振铃,发送消息如下:(第一行可不关注,是笔者公司的底层打出的消息):
[
16:15:59
]
===
SIPTransaction Send SIP message (
455
bytes)
to
192.168
.
2.161
:
9545
SIP
/
2.0
180
Ringing
Via: SIP
/
2.0
/
UDP
192.168
.
2.161
:
9545
From
: "Administrator"
<
sip:
17899998888
@192
.
168.2
.
89
>
;tag
=
2dc6e1000081463ba14f7db4e50b8643;epid
=
d6b5434cef
To
:
<
sip:
01062230001
@192
.
168.2
.
89
>
;tag
=-
006773
-
7d10081ef45af150
Call
-
ID: 31e72e80d5b04f52aba6cb8be8f3c0c0
@192
.
168.2
.
161
CSeq:
1
INVITE
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,
UPDATE
,PRACK,REFER,SUBSCRIBE,NOTIFY,MESSAGE
Contact:
<
sip:
192.168
.
2.89
:
14010
>
Content
-
Length:
0
软交换服务器(192.168.2.89)接收到被叫的INVITE消息的200 OK消息,给主叫方也发送200 OK消息,消息参考如下:
SIP
/
2.0
200
OK
Via: SIP
/
2.0
/
UDP
192.168
.
2.89
:
14010
;branch
=
z9hG4bK
--
50c44f35
From
:
<
sip:
17899998888
@192
.
168.2
.
89
>
;tag
=-
002221
-
d749165cdfed2151
To
:
<
sip:
01062230001
@192
.
168.2
.
89
>
;tag
=
6b3e0000bf5c0000
Call
-
ID: fdfa416f8779a8701af1086b07879a65
@192
.
168.2
.
89
CSeq:
1
INVITE
Contact:
<
sip:
192.168
.
2.161
:
5060
>
Content
-
Type: application
/
sdp
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,
UPDATE
,PRACK,REFER,SUBSCRIBE,NOTIFY,MESSAGE
Content
-
Length:
118

v
=
0
o
=-
1
1
IN
IP4
192.168
.
2.161
s
=-
t
=
0
0
m
=
audio
19194
RTP
/
AVP
8
c
=IN
IP4
192.168
.
2.161
a
=
rtpmap:
8
PCMA
/
8000
3)签权INVITE消息实例
1)头字段填写说明
必选头域如下:
Call-id
Contact
CSeq
From
To
Max-Forwards
Via
Supported
Allow
常用可选头域:
Accept
Authorization
Content-length
Content-type
Record-Route
Route
Require
Proxy-Authorization
Proxy-require
P-asserted-identity
P-prefered-identity
Privacy
2)非鉴权INVITE消息实例
在这个实例中,笔者在本机(192.168.2.161)上使用BOL注册了17899998888号码,呼叫01062230001号码时发送INVITE消息给服务器(192.168.2.89)的软交换,发送INVITE消息参考如下:










































































