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
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
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:
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.
• 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.
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.
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
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.
102.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.
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
̇ 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á
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: <>
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
“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
20Chú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
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.