i
LI CM N
Li đu tiên em xin chân thành cm n thy Hunh Minh Quang là
ngi đã tn tình hng dn, ch bo em trong lúc thc hin đ tài. Nhng
ý kin ca thy là vô cùng quý giá đi vi em không nhng trong lúc thc
hin đ tài này mà còn là kinh nghim hu ích cho em sau này.
Em cng xin chân thành cm n các thy cô trong khoa Tin Hc
trng đi hc M TP.HCM đã nhit tình dy d và cung cp cho em
nhng kin thc hu dng trong cuc sng.
Xin cm n bn bè, anh ch em đã đng viên và chia s thông tin cho
em trong khi thc hin đ tài.
Cui cùng con xin cm n ba m đã chm sóc, nuôi dng con thành
ngi.
Mc dù đã c gng nhng vi nhng hiu bit gii hn chc chn s
không tránh khi nhng thiu sót. Rt mong thy cô và các bn cm thông
và ch bo.
Sinh viên thc hin
Lu Mnh Hùng
iii
Mc lc
Li cm n i
Nhn xét ca giáo viên hng dn ii
Mc lc iii
Phn I
Gii thiu đ tài 1
Chng 1 Tng quan, vai trò và ý ngha ca SIP 1
1.1. Tng quan 1
1.2. Vai trò và ý ngha ca SIP 2
1.3. Các loi dch v s dng SIP 3
1.3.1. Các dch v qun lý phiên c bn 3
1.3.2. Các dch v điu khin nâng cao 4
1.3.3. Các dch v đa phng tin 4
1.3.4. Các dch v hi ngh 5
1.4. Mc tiêu ca lun vn 5
Phn II
C s lý lun 6
Chng 2 Cu trúc mng SIP 6
2.1. a ch SIP 6
2.2. Chc nng SIP 6
2.2.1. Cài đt, chnh sa và kt thúc phiên 6
2.2.2. nh v ngi dùng 8
2.3. Các thành phn 9
2.3.1. User Agents (UAs) 9
2.3.2. Proxy server 9
2.3.3. Redirect Server 10
2.3.4. Registrars 11
2.3.5. Location service 11
Chng 3 T chc ca giao thc SIP 12
3.1.Thông đip SIP 12
3.1.1.Khái nim Dialog 12
3.1.2.Yêu cu 14
3.1.3.Các câu tr li 15
3.1.4.Field header 17
3.2.SIP identity 24
3.3.Giao thc SDP 25
Chng 4 Mã tình trng SIP 28
4.1.Nhóm 1 (1xx Provisional Codes) 28
4.2.Nhóm 2 (2xx Successful Status Codes) 29
4.3.Nhóm 3 (3xx Redirection Status Codes) 30
4.4.Nhóm 4 (4xx Client Failure Status Codes) 31
4.5.Nhóm 5 (5xx Server Failure Status Codes) 37
4.6.Nhóm 6 (6xx Global Failure Status Codes) 38
Chng 5 Th tc đng ký và thành lp phiên trong mng SIP 40
5.1. Th tc đng ký 40
5.1.1 .ng ký c bn 40
5.1.2. Khai báo s kin 41
5.2. Thành lp mt phiên trong SIP 42
5.2.1. Truy cp mng 42
iv
5.2.2. Khi to cuc gi 42
5.2.3. Yêu cu t máy khách 44
5.2.4. Tr li t máy ch 44
5.2.5. nh tuyn SIP 45
5.3. Chnh sa phiên SIP 46
5.4. Chm dt phiên SIP 46
Chng 6 Bo mt SIP 47
5.1. Các tn công mng 47
6.1.1. Registration Hijacking 47
6.1.2. Session Hijacking 47
6.1.3. Impersonating a Server 47
6.1.4. Tampering with Message Bodies 47
6.1.5. Tearing Down Sessions47
6.1.6. Denial of Service and Amplification 48
6.1.7. Bots and DDoS Attacks 48
6.2. Gii pháp bo mt 48
6.2.1. Network-layer security (IPSec) 48
6.2.2. Transport-layer security(TLS) 49
6.2.3. SIPS URI scheme 50
6.2.4. HTTP authentication 51
6.2.5. S/MIME 52
Phn III
Cài đt giao thc và xây dng ng dng minh ha giao thc SIP 55
Chng 7 Cài đt giao thc và xây dng ng dng LEO 55
7.1. Th vin lp SIP 55
7.1.1. Các thành phn ca th vin 55
7.2. Mô t ng dng 56
7.2.1. Tng quan v ng dng 56
7.2.2. Môi trng xây dng 56
7.3. Cu trúc ng dng 56
7.3.1. Thành phn ca ng dng 56
7.4. Giao din ngi dùng và cu hình 56
7.4.1. Giao din ngi dùng 56
7.4.2. Cu hình 58
7.5. X lý logic ca ng dng 59
Nhn xét đánh giá 60
Tài liu tham kho 61
1
tài:
Tìm hiu giao thc SIP và xây dng ng dng
minh ha
Phn I:
Gii thiu đ tài
Chng 1:
Tng quan, vai trò và ý ngha ca SIP
1.1. Tng quan:
S quan tâm đi vi internet và các dch v truyn thông đa phng tin ngày
càng tng. Nhng ngi s dng internet trc đây ch đ lt web bây gi li say mê
các dch v nh chat (Instant Messaging), game trc tuyn, gi đin thoi và trao đi
Video trên mng.
Có nhiu dch v cung cp trên mng internet da trên mng IP, có th chia làm
3 nhóm theo quan đim ca ngi s dng là:
• Dch v Infotainment:
là dch v ngi dùng có th truy cp thông tin và các ng dng gii trí t
các máy ch t xa ví d nh Web.
• Dch v Streaming:
cho phép ngi dùng truy cp trc tuyn hoc download các media (phim,
nhc,v.v).
• Dch v Communication:
cho phép ngi này giao tip vi ngi khác s dng các media khác nhau
nh đin thoi hay gi th.
2
Dch v Communication có th chia làm 2 loi: dch v trc tuyn và dch v
không trc tuyn.
• Trong dch v trc tuyn chúng ta cn phi ni kt đng thi đ vic truyn
thông có th xy ra ngay lp tc nh đin thoi, chi c hay chat.
• Trong dch v không trc tuyn không cn thit phi kt ni cùng lúc đ
truyn thông xy ra nh gi th đin t.
Không nh nhng loi dch v khác, tín hiu đóng vai trò quan trng trong dch
v truyn thông đa phng tin trên mng IP. SIP (Session Initiation Protocol) là giao
thc tín hiu mc ng dng nên vai trò ca nó rt quan trng trong các dch v truyn
thông đa phng tin.
SIP không thay th các dch v khác đang tn ti nh HTTP, SMTP, POP3,
IMAP4 mà nó đc thit k đ b sung cho nhng dch v và các giao thc đang tn
ti nh web hay th đin t và khi kt hp vi nhng giao thc này, SIP ha hn mt
h thng truyn thông trên mng IP bao gm tt c các dch v có th thc hin trong
th gii thc.
1.2. Vai trò và ý ngha ca SIP:
Gi s có hai ngi cn truyn thông ging nói trên internet là A và B, c hai
ngi đu có máy tính kt ni internet, microphone, loa chng trình chuyn đi âm
thanh thành tín hiu s, đóng gói và gi đi thông qua giao thc RTP và ngc li. Khi
A nói vào microphone, ging nói s đc chuyn đi thành tín hiu s và đc
chng trình máy tính gi đn B thông qua giao thc RTP. gói d liu âm thanh
đn đc B, gói d liu phi cha đa ch ca B. Khi máy ca B nhn đc gói d liu
s chuyn đi gói thành tín hiu s và phát ra loa.
3
Có mt s vn đ cn xem xét nh sau:
• Khi mt bên mun báo hiu cho bên kia là s bt đu giao tip thì làm th
nào?
• Bên gi yêu cu cng mun bit là yêu cu ca mình đc thc hin cha, bên
nhn đang chp nhn yêu cu và đã chp nhn cha đ bên gi bt đu nói.
• Phng thc mã hóa d liu media ca bên gi và bên nhn có ging nhau
không?
• Nu thay vì mt ngi s dng máy tính th nht thì h mun s dng máy
tính th hai có đa ch IP khác thì làm sao?
Nhng vn đ trên chng t cn nhng thông tin thêm đ điu khin cách
truyn thông thc hin. Nhng thông tin điu khin này là các tín hiu và đc gi
gia 2 máy tính ca A và B theo giao thc tín hiu. SIP là giao thc vn chuyn nhng
loi thông tin này.
1.3. Các loi dch v s dng SIP:
1.3.1. Các dch v qun lý phiên c bn:
SIP có th s dng trong các loi truyn thông đa phng tin sau:
Voice communication: Truyn thông ging nói.
4
Video communication: Truyn thông video.
Instant Messaging communication (IM): Trao đi tin nhn trc tuyn.
Text over IP: Trao đi vn bn thi gian thc.
Peer-to-peer gaming: game trc tuyn.
Whiteboarding: S dng mt bng v đ trao đi
thông tin gia nhng ngi dùng.
File transfer: Chia s file.
Ngoài ra có th kt hp nhng dch v này mt s nh:
• Voice và video.
• Voice và IM.
• Voice và Real-Time Text.
• Voice và File Transfer.
• Voice và Gaming.
• Voice và Whiteboarding.
1.3.2. Các dch v điu khin nâng cao:
Mt s dch v SIP cung cp thêm là:
• Xác đnh ngi khi to phiên:
SIP bao gm thông tin đnh danh ca ngi gi có th đc th hin
đn ngi nhn. Ngc li SIP cng có th ngn đnh danh ca ngi gi
th hin cho ngi nhn.
• Xác đnh có multimedia trong phiên hay không?
Khi to cng có th bao gm ni dung đa phng tin trong yêu cu
khi to phiên đ cnh báo cho ngi nhn. Ni dung đa phng tin có th
là nhc chuông, hình nh,v.v.
• Chn cuc gi:
ng dng chn cuc gi có th cn c vào các tham s khác nhau.
Chng hn nh da vào ngi khi to, ni đn, ni dung đa phng tin
hay nhng tham s khác nh ngày gi.
• Gi cuc gi:
Dch v này d dàng s dng vi SIP/SDP vì SDP đã cung cp đnh
ngha cho vic hot đng và không hot đng ca media đc gi hoc
đc nhn.
• Chuyn cuc gi.
Dch v này d dàng s dng bng cách chnh sa các tham s SIP cái
th hin ni đn ca cuc gi khi các điu kin phù hp din ra (chng hn
ngi nhn không tr li)
1.3.3. Các dch v đa phng tin:
Mt s dch v:
• Voice mail:
Cho phép ngi gi có th đ li tin nhn ca h đ ngi nhn có th
nghe li sau.
5
• Music on hold:
Cho nghe nhc khi ch đi.
• Ringback tones:
Chuông cnh báo cuc gi đn.
• Do not disturb:
Ngi gi đc chuyn đn mt menu vi mt s tham s đc cu
hình.
1.3.4. Các dch v hi ngh:
• Multiparty call:
Nhiu ngi cùng hi thoi.
• Dial-in conferences:
Nhng ngi tham gia quay 1 s đnh trc tham gia.
• Dial-out conferences:
Server đc cu hình đ bt đu hi ngh thi gian xác đnh.
1.4. Mc tiêu ca lun vn:
Vi tm quan trng ca h thng SIP nh ta đã thy mc tiêu ca lun vn là tìm
hiu giao thc SIP và cài đt giao thc, xây dng ng dng minh ha giao thc SIP.
Vi mc tiêu tìm hiu giao thc SIP lun vn s trình bày v h thng SIP bao
gm cu trúc mng SIP, chc nng SIP, các thành phn h thng SIP. Bên cnh đó nó
miêu t cách thc t chc ca h thng SIP, th tc đng ký trong mng SIP. Ngoài ra
nó còn trình bày vn đ bo mt trong mng SIP.
Vi mc tiêu cài đt giao thc, xây dng ng dng minh ha lun vn s tp
trung vào cài đt giao thc vi các lp h tr cho hot đng mng SIP. Bên cnh đó là
ng dng nh s dng th vin lp giao thc đã cài đt nhm minh ha rõ nét hn mt
ng dng ca SIP.
6
Phn II:
C s lý lun
Chng 2:
Cu trúc mng SIP
2.4. a ch SIP:
Trong mng SIP mt ngi s dng đc xác đnh thông qua SIP URI. SIP URI
là mt URI (Universal Resource Identifier) cha đng thông tin đ khi to và duy trì
mt phiên truyn thông vi các tài nguyên.
Ví d SIP URI:
sip:
Mt SIP URI là lc đ sip: bao gm 2 phn đc chia bi ký hiu @.
• Phn ngi dùng chn đ xác đnh tài nguyên đc cp đa ch. Trong ví d
trên là: client1.
• Phn 2 dùng xác đnh ngun cung cp tài nguyên. Nó có th là tên domain
hoc đa ch IP và port.Ví d trên là: abc.com.
SIP URI có th ch ngi s dng ,server và mt s loi sau:
• nh danh chung ca ngi dùng nh sip:
• a phng ca ngi dùng.
• Server SIP nh: sip:193.53.24.3
• Mt nhóm ngi dùng.
• Mt dch v.
2.5. Chc nng SIP:
SIP là giao thc tín hiu nó gii quyt 2 khía cnh ch cht là:
• Cài đt, chnh sa và kt thúc phiên.
• nh v ngi dùng.
2.5.1. Cài đt, chnh sa và kt thúc phiên:
Chc nng chính ca SIP là khi to phiên truyn thông đa phng tin. S
dng SIP mt ngi có th gi tín hiu mun truyn thông ca h đn mt ngi
khác và ngi đó có th chp nhn hay t chi li mi đó.
SIP cng có th s dng đ chnh sa phiên. Ví d nh thêm mt thành
phn media mi vào phiên.
Chc nng cui cùng ca vic qun lý phiên là chm dt phiên. Bt k
ngi nào tham gia vào phiên có th s dng SIP đ chm dt vic truyn thông
và vic gi nhn media.
Mt phiên có th din ra nh sau:
7
̇ Bên mun thành lp cuc gi s gi yêu cu cho bên nhn. H thng SIP
s chuyn li mi này đn bên nhn.
̇ Khi yêu cu đc chuyn nó s mt chút thi gian đ bên nhn chp
nhn hoc t chi li mi do đó bên gi cn phi đc thông báo là yêu
cu đang đc x lý. H thng SIP s chuyn nhng thông tin báo đang
đc x lý đn bên gi đ tránh bên gi tip tc gi li yêu cu.
̇ Nu bên nhn yêu cu chp nhn yêu cu thì bên gi cn bit đc thông
tin đó đ bt đu thành lp cuc gi. SIP s chuyn thông tin v s chp
nhn đn bên gi.
̇ Vic thng nht các tham s đ giao tip nh s mã hóa và gii mã ging
nói và video. SIP s s dng vic mô t phiên đ thc hin chc nng
này.
̇ Gi s lúc đu phiên có truyn thông c audio và video. Trong khi giao
tip mt bên có th mun không truyn video na. Lúc này SIP s chnh
sa phiên, mt mô t phiên mi không có video s gi đn bên kia và
nu yêu cu đc chp nhn thì lúc này ch còn truyn ging nói.
̇ Sau khi giao tip mt bên mun ngt cuc gi chm dt đàm thoi thì h
thng SIP s chm dt phiên.
8
2.5.2. nh v ngi dùng:
khi to phiên cn đnh tuyn t bên gi đn bên nhn. Trong mng IP
vic đnh tuyn cn da vào đa ch IP mà bên gi không bit đa ch IP ca bên
nhn (đa ch IP ca ngi nhn có th thay đi), nhng ngi gi phi bit đnh
danh chung ca ngi nhn. Hn na ngi nhn có th s dng các thit b khác
nhau đ giao tip do đó đa ch IP ca thit b ca ngi nhn là không c đnh.
Vi yêu cu đó h thng cn xác đnh v trí ca ngi dùng da trên đnh
danh chung. iu đó cn ánh x đnh danh chung vi đa ch IP. Do vy đ mt
thit b nhn đc cuc gi nó cn đng ký.
Sau khi đng ký đa ch IP thit b ca ngi dùng và đnh danh chung đc
lu vào bng cha d liu. Khi có cuc gi đn thit b ca ngi dùng, cuc gi
s đnh tuyn đn server kt hp vi thit b đó, truy vn DNS đ có đa ch IP và
gi tín hiu đn ngi dùng.
9
2.6. Các thành phn:
2.6.1. User Agents (UAs):
Mt UA bao gm 2 thành phn: User Agent Client (UAC) và User Agent
Server (UAS). UAC chu trách nhim to yêu cu SIP mi và nhn câu tr li.
UAS chu trách nhim nhn yêu cu SIP và to câu tr li thích hp.
UA đc tích hp trong thit b ca ngi dùng do đó ngi dùng có th
tng tác vi nó thông qua giao din. SIP UA là mt phn không th thiu ca
mt ng dng truyn thông đa phng tin. Nhng UA có th đc cài đt theo
nhiu cách khác nhau. Nó có th là phn mm chy trên máy tính hay là ng
dng chy trên đin thoi di đng.
2.6.2. Proxy server:
Proxy Server hot đng nh là client và server cho mc đích to yêu cu
thay cho client khác.Vai trò chính ca Proxy server là đnh tuyn tc là công vic
ca nó là chuyn yêu cu đn server tip theo cho đn ngi dùng đích.
Có th có mt tp hp proxy server giúp đnh tuyn yêu cu gia UAC và
UAS. Có các loi proxy sau:
2.3.2.1. Outbound proxy:
Mt Outbound proxy giúp UA đnh tuyn các yêu cu gi đi. UA
thng cu hình đ gi yêu cu đn outbound proxy, sau đó proxy s đnh
tuyn cho chúng.
10
2.3.2.2. Inbound proxy:
Inbound proxy nm gi các yêu cu đn sau đó s chuyn cho UA
thích hp trong min mà nó chu trách nhim. Khi nhn đc yêu cu đn
ngi dùng trong min ca nó, nó truy vn Location Service đ xác đnh
Contact Address ri chuyn yu cu đn đa ch này.
2.3.2.3. Forking:
Có trng hp ngi dùng đng ký nhiu đa ch cho mt đnh danh
lúc đó proxy có th thc hin theo 2 cách nh sau: Tìm kim ln lt tng
đa ch hoc tìm kim đng thi nhiu đa ch.
2.3.3. Redirect Server:
Redirect server là server UA, nó nhn yêu cu t UAC và to câu tr li cho
nhng yêu cu này. Nhng câu tr li này s hng dn UAC liên h vi URI
khác.
11
2.3.4. Registrars:
Registrar là máy ch chp nhn các yêu cu đng ký t UA. Mt UA cn
đng ký trc khi nó có th nhn cuc gi. Khi registrar chp nhn yu cu đng
ký t UA nó đt nhng thông tin nhn đc trong mt c s d liu gi là
Location Service. Nhng thông tin trong Location Service đc ánh x gia v trí
ngi dùng và đnh danh chung ca ngi dùng.
2.3.5. Location service:
Location Service không phi là thc th SIP. Nó là c s d liu cha đng
danh sách s ánh x gia Addresses of Record (AORs) là các đnh danh chung và
Contact Addresses là v trí ngi dùng trong min c th. AORs và Contact
Addresses là các SIP URIs. Khi Registrar nhn yêu cu đng ký t UA nó đa
thông tin đn Location Service, Location Service cng liên h vi Proxy Server
ca mt min đ nhn thông tin v trí ca ngi dùng đc gi.
12
Chng 3:
T chc ca giao thc SIP
3.1. Thông đip SIP:
Các thành phn SIP là các thành phn logic ch không phi là thành phn vt lý.
Mt thành phn vt lý nh Server có th h tr nhiu thành phn logic. Các thành phn
SIP phi có kh nng x lý thông đip SIP gi là các lp. Có các lp sau:
• Cú pháp và mã hóa: Là lp cn thit, cú pháp và mã hóa cn phi hiu đ
thông dch hoc x lý các thông đip SIP.
• Lp vn chuyn: dùng đ to các thông đip và gi trên mng đn các thành
phn SIP khác.
• Lp giao dch: chu trách nhim qun lý, truyn li các câu tr li đn các yêu
cu.
• Các ngi dùng giao dch: chu trách nhim to các thông đip nh INVITE,
hy b giao dch, xác đnh đa ch.
Trong các lp trên 2 lp đu là cn thit phi có.
3.1.1. Khái nim Dialog:
Khi 2 thit b giao tip vi nhau chúng trao đi nhng thông đip (là các
giao dch). Ví d mt đin thoi gi yêu cu INVITE đn đin thoi nhn. Nu
đin thoi nhn chp nhn yêu cu thì nó gi câu tr li đn yêu cu và trao đi
các thông đip khác (xem nh là mt dialog vi thit b khác). Mt phiên có th
có nhiu dialog nh hình sau:
13
Mi dialog cn mt dialog ID bt ngun t SIP header. Khi UAC gi yêu
cu nó mong ch câu tr li. Câu tr li cn nhng header nh TO, FROM
CALL ID. Header TO và FROM cn tham s TAG s dng đ tính dialog ID.
Dialog ID là duy nht trong UAC và UAS.
SIP là giao thc dng text có ngha thông tin đc mã hóa trong giao thc
là các chui ký t. Thông đip SIP là nhng hàng ký t, mi hàng đc phân bit
bi hai ký t là ký t v đu dòng và ký t xung hàng Carriage Return and Line
Feed (CRLF).
Có hai loi thông đip là yêu cu và câu tr li cho yêu cu. C hai loi
thông đip đu bao gm mt hàng bt đu, mt hoc nhiu các field header, mt
dòng trng đ xác đnh kt thúc các field header và mt phn thân thông đip tùy
chn. Field header là mt hàng bao gm tên header, du “:”, giá tr ca header và
kt thúc bi CRLF.
14
3.1.2. Yêu cu:
Mt yêu cu đc gi t SIP client đn SIP server. Dng yêu cu có hàng
bt đu nh sau:
METHOD <SP> REQUEST_URI <SP> SIP_VERSION <CRLF>
METHOD xác đnh loi yêu cu đc gi:
̇ REGISTER: S dng đ đng ký User.
̇ INVITE: Dùng đ mi mt user đn mt session.
̇ ACK: Xác nhn vic nhn yêu cu khi cài đt phiên
̇ CANCEL: Hy giao dch
̇ BYE: Kt thúc phiên.
̇ OPTIONS: Truy vn server.
̇ INFO: S dng đ trao đi thông tin nh s đã gi.
̇ MESSAGE: S dng cho nhng thông đip ngn.
̇ NOTIFY: S dng đ thông báo cho các thành phn.
̇ SUBSCRIBE: ng ký nhn thông báo.
̇ UPDATE: Cp nht thông tin phiên.
Request-URI là mt SIP URI ch rõ ngi dùng hay dch v mà yêu cu này
gi đn. Request-URI là khá quan trng vì s dng đ đnh tuyn yêu cu.
Hình trên minh ha giá tr ca Request-URI qua các hop khác nhau t
ngi gi đn ngi nhn trong mng SIP. Ta có th thy trong bc 1 và 2 SIP
URI cha đnh danh public ca ngi nhn. Tuy nhiên khi yêu cu đn inbound
proxy ca ngi nhn nó truy vn Location service và nhn đa ch ca ngi
nhn sau đó thay th URI gc. Trong chui đnh tuyn trên thì Request-URI luôn
ch ni đn ca yêu cu và giá tr ca nó thay đi khi đn inbound proxy ca
ngi nhn vì đã có thông tin chính xác.
15
Trong hình trên inbound proxy ca ngi nhn cài đt mt dch v chuyn
tip đn gin, khi nó nhn mt yêu cu có đích đn là abc nó t đng thay đi giá
tr Request-URI đn SIP URI ca cba ngi mà abc mun chuyn tt c các cuc
gi đn ca abc.
3.1.3. Các câu tr li:
Câu tr li gi t server đn client theo yêu cu. Dng ca câu tr li là:
SIP VERSION (space)STATUS CODE(space)REASON PHRASE(crlf)
SIP VERSION là phiên bn SIP, mc đnh là 2.0
Status code đc đnh ngha theo lp. Có 6 lp mã tình trng
̇ 1xx: Mã tm thi:
Các mã thuc nhóm này ch ra rng yêu cu đã đc nhn và đang
đc x lý. ây là mã tr li thng xuyên t server đn client, nó nh là
mt s xác nhn. Mc đích là ngn chn vic gi li yêu cu nhiu ln.
̇ 2xx: Thành công:
Ch ra rng yêu cu đã đc x lý và hành đng đã hoàn thành.
̇ 3xx: Chuyn tip.
Chuyn tip đc gi khi mt phiên đc chuyn tip đn mt đa ch
khác. Câu tr li s gii thích lý do chuyn tip và chi tit ni thông đip
đc chuyn tip.
̇ 4xx: Li client:
Li client th hin sai cú pháp ca request và server không th x lý
request.
̇ 5xx: Li server.
Li server th hin rng yêu cu đúng nhng mt li đã xy ra trên
server và yêu cu không th đc x lý. Lý do đc ch rõ trong thông đip
gi client.
̇ 6xx: Li chung.
Li xy ra không phía client hoc server mà có th do mng.
Chi tit mt s mã nh sau:
16
17
3.1.4. Field header:
Field header cha thông tin chi tit v yêu cu hoc tr li. Header có th
cha thông tin ni đn hoc thôn tin đnh tuyn. Dng ca header nh sau:
header_ name: header_value
Có th có nhiu khong trng gia tên và giá tr ca header nhng khuyn
cáo là ch nên có mt khong trng.
ROUTE: <>
ROUTE: <>
Nh trên có th có nhiu tên header ging nhau trong mt yêu cu nh tên
header ROUTE. Khi header ging nhau này xut hin nhiu ln th t không
đc ch rõ nhng khuyn cáo rng vic đnh tuyn nên đc lit kê đu yêu cu
đ cho proxy nhanh chóng x lý thông đip.
18
3.1.4.1. From header:
Field From th hin đnh danh logic ca ngi to yêu cu. nh danh
này là mt SIP URI. Nó là đnh danh logic nên có th nó không cha đa ch
IP hay tên min.
From: ABC < > ; tag = dei3i5h8sdshj88d
Field From có cha tham s “tag”, tham s “tag” ca field From kt
hp vi tham s “tag” ca field To và giá tr ca field Call-ID dùng đ xác
đnh dialog. Field From cng có th cha mt Display-name đc thêm
trc SIP URI. Display-name th hin tên ngi khi to yêu cu và có th
đ cho ngi nhn bit.
3.1.4.2. To header:
Field To th hin ngi nhn logic ca yêu cu. Cái này có th là
Address of Record ca ngi dùng hoc tài nguyên mà request yêu cu.
inh danh logic này là SIP URI.
sip:
UAC đt giá tr field header To và không proxy nào trên đng đi có
th thay đi. Proxy trên đng đi có th quyt đnh tái đnh tuyn. Chúng
có th quyt đnh chuyn tip yêu cu đn đích đn khác nhng field header
To không thay đi giá tr.
Giá tr ca field header To thng đc nhp vào hoc chn t danh
sách có sn. Cng nh header From header cng có th có “Display-name”
sip: ABC < >
Tham s “tag” ca header To kt hp vi tham s “tag” ca From và
Call-ID đ xác đnh dialog. Do đó trong mt yêu cu tham s “tag” ca
header To là bt buc.
19
3.1.4.3. Call-ID:
Field header Call-ID xác đnh duy nht mt giá tr cho mt nhóm
thông đip. Nó đc to bi UA bng cách kt hp mt chui ngu nhiên,
tên host và đa ch IP. S kt hp “tag” ca các header To, From và Call-ID
đ xác đnh dialog. Các yêu cu và tr li trong mt dialog phi có header
Call-ID ging nhau. Call-ID đc to t đng bi UA không qua giao din
ngi dùng.
3.1.4.4. Via:
Các Response phi theo mt đng dn nh các Request đã đi qua
nhng theo th t ngc li. Header Via s dng cho mc đích này. Header
Via bao gm hai field:
Ü Giao thc gi (sent-protocol ): cha đng tên giao thc dùng đ gi
thông đip.
Ü Gi bi (sent-by): th hin tên host, đa ch IP ca client và có th
có thêm port mun dùng nhn Response.
Nó cng có th có thêm tham s “branch” hoc “received”
Via: SIP/2.0/UDP 5.4.3.2.:5060; branch = z9hiueufewee
Mt UAC phi bao gm header Via trong các Request. Nó ch rõ đa
ch mong mun nhn Response. Mi Proxy trên đng đi ca yêu cu s
thêm vào header Via ca riêng nó đ ni đn s gi tr li response cho nó.
Khi nhn đc Response nó s xóa các Via mà nó thêm vào.
Chc nng khác ca header Via là cho phép s tng quan gia
Response và Request, cho mc đích này tham s “branch” đc s dng.
UAC to branch ID khi to yêu cu và phi bo đm rng nó là duy nht
cho tt c yêu cu gi bi UA. Mt yêu cu CANCEL có tham s “branch”
ging nh yêu cu mà nó mun hy.
Header Via cng s dng cho vic tìm kim lp. Mt proxy có th da
vào header Via đ xác đnh mt yêu cu đã nhn và đang lp li.
Có mt tham s quan trng khác trong header Via là tham s
“received”. Khi server nhn yêu cu mà đa ch IP gc trong lp IP không
ging nh đa ch trong header Via thì server s thêm vào tham s
“received”. Giá tr tham s này bng vi đa ch IP thc ni yêu cu đc
gi.
Gi s ngi gi có mt UAC vi hai đa ch IP: 5.4.3.2 và 5.4.3.1.
Ngi gi mun thành lp mt phiên vi ngi nhn thì s gi yêu cu
INVITE đn proxy ca ngi gi. Header Via trong yêu cu INVITE có th
có dng nh sau:
Via: SIP/2.0/UDP 5.4.3.2:5060; branch = z9hG4bKl740ws
20
Chúng ta cho rng đa ch IP mc IP là 5.4.3.1 do đó khi proxy tìm
thy tình hung này nó s thêm vào tham s “received” đn header Via nh
sau:
Via: SIP/2.0/UDP proxy.xyz.com:5060; branch = z9hG4bKos72hh
Via: SIP/2.0/UDP 5.4.3.2:5060;received=5.4.3.1;branch= z9hG4bKl740ws
3.1.4.5. Contact:
Header Contact đc to bi UA nó cung cp mt SIP URI dùng đ
liên h vi UA cho yêu cu tip theo. Có ngha là yêu cu mi trong dialog
phi đnh tuyn trc tip đn UA s dng header Contact. Có ngha là
nhng proxy không cn thit mà trong đng dn ca yêu cu INVITE
đu tiên s đc loi b.
Contact: < sip: >
21
Nh hình trên yêu cu BYE đc đnh tuyn trc tip gia hai ngi
dùng trên c s SIP URI trong Contact header.
3.1.4.6. Record-Route and Route:
C hai header Record-Route và Route cha đng danh sách các SIP
URI. Mi danh sách cha mt chui các proxy. Các SIP URI này cha đa
ch IP hay tên min và port.
Các header ROUTE đc s dng bi UA và proxy đ đnh tuyn yêu
cu theo danh sách các proxy. Ví d UA phi bao gm SIP URI ca proxy
outgoing trong dòng đu tiên ca header ROUTE đ mi yêu cu đu đc
gi thông qua proxy này.
Header Record-Route đc thêm vào yêu cu bi proxy đ nhng yêu
cu sau này s thông qua nó. UA se copy ni dung ca header Record-
Route trong yêu cu đã nhn thành header Record-Route trong yêu cu mi
trong cùng dialog.
22
3.1.4.7. CSeq:
Header Cseq bao gm mt s th t và mt phng thc.
CSeq: 5 INVITE
S th t đc s dng đ xác đnh th t yêu cu trong mt dialog.
UA to yêu cu trong dialog s tng s th t thêm 1. Yêu cu ACK và
CANCEL không tng thêm s th t.