SIP được mở rộng nhờ việc thêm các tiêu đề, tham số, và các method mới Các mở rộng đang được tiến hành – SIP-T thông tin giữa các MGC sử dụng phương pháp bao gói báo hiệu – SIP Calle
Trang 1CÔNG NGHỆ VOIP CHUYÊN ĐỀ 8 : GIAO THỨC SIP
Lê Minh Toản
Lê Văn Thành
Nguyễn Tiến Thành
Tống Văn Long
Phạm Tuấn Việt
Trang 2 Giới thiệu SIP
Đánh giá giao thức SIP
Trang 31 Giới thiệu
1.1 Sự hình thành và phát triển của SIP:
duy nhất được biết đến như mạng NGN.
nhiệm và đã được công bố trong RFC2543 (3-1999) và RFC3261 (6-2002)
Trang 4V5, RSU, CSN
RGW
Enterprise Networks
H.323/SIP
Application Servers (IP-VPN)
H.323, SIP
H.323/SIP clients POTS/ISDN
H.323, SIP
Interworking (SIP/ISUP/BICC)
5430 SRB
5450 ABG
D-AGW
ISUP
Trang 51.2 SIP là gì?
SIP – Sesion Inititation Protocol
Session – Phiên: “là tập hợp các bên tham gia cùng với luồng dữ liệu trao đổi giữa bên gửi và
bên nhận”
SIP – Giao thức khởi tạo phiên: “SIP là giao thức điều khiển lớp ứng dụng mà có thể thiết lập,
thay đổi, quản lý và kết thúc các phiên của một hay nhiều bên tham gia trong mạng IP mà không phụ thuộc vào giao thức lớp truyền tải bên dưới”.
Trang 6• SIP trong kiến trúc giao thức đa phương tiện tổng quát
Trang 7• SIP là giao thức dựa trên cở sở mối quan hệ Client-Server,
dụng cả SCTP).
Trang 8• Các mở rộng của SIP:
Các phiên multimedia đó bao gồm các hội nghị multimedia, thoại internet hay các ứng dụng tương tự SIP là một giao thức quan trọng sử dụng cho việc thực thi VoIP Mặc dù trong VoIP báo hiệu và truyền dẫn media được qua IP nên có nhiều ưu điểm hơn hẳn thoại truyền thống, thì mạng VoIP cũng không thể tồn tại tách biệt với mạng thoại truyền thống Vì vậy vấn đề quan trọng là phải liên vận được mạng thoại SIP với mạng PSTN.
SIP được mở rộng nhờ việc thêm các tiêu đề, tham số, và các method mới
Các mở rộng đang được tiến hành
– SIP-T (thông tin giữa các MGC sử dụng phương pháp bao gói báo hiệu)
– SIP Caller Preference (ưu tiên mang các bản tin thiết lập cuộc gọi)
– SIP Call Control (thêm các chức năng điều khiển cuộc gọi)
– SIP INFO Method (mang các thông tin điều khiển liên quan tới phiên đã thiết lập)
Các giao thức bổ xung
– TRIP (Telephony Routing over IP):
– CPL (Call Processing Language): mô tả các dịch vụ cuộc gọi, ví dụ chuyển tiếp cuộc gọi khi bận hay không trả lời.
– ENUM Telephone Number Mapping: (supports DNS based mapping of E.164 phone numbers to SIP-URLs)
Trang 92 Chức năng và đặc điểm
2.1 Chức năng của SIP
– Định vị người dùng (User location): xác định hệ thống đầu cuối được sử dụng trong truyền thông
– Các khả năng người dùng (User capabilities): xác định phương tiện và các thông số phương tiện được sử dụng
– Tính khả dụng người dùng (User Availability): xác định sự sẵn sàng của bên được gọi để tiến hành truyền thông
– Thiết lập cuộc gọi (Call setup): “đổ chuông”, thiết lập các thông số của cuộc gọi tại cả hai phía bị gọi
và chủ gọi
– Xử lý cuộc gọi (Call handling): bao gồm chuyển tải và kết thúc cuộc gọi
– 2.1 Đặc điểm của SIP
– Tương thích với các giao thức khác của IETF
– Đơn giản và khả năng mở rộng
– Dễ dàng tạo ra các tính năng mới và dịch vụ mới
– Hỗ trợ tính di dộng của đầu cuối
– Khả năng liên kết hoạt động với mạng điện thoại hiện tại
Trang 103 Địa chỉ và định tuyến
3.1 Địa chỉ SIP:
• Các thuê bao SIP được nhận dạng bằng một địa chỉ SIP (SIP URI hoặc SIPS URI) tương tự như địa chỉ email:
“sip:user@host” Phần người sử dụng có thể là username hoặc số điện thoại, phần host có thể là một domain hay một địa chỉ IP
Trang 113.2 Định tuyến bản tin SIP:
• Khi thực thể SIP gửi các request SIP bắt buộc phải thêm vào trường Via chứa địa chỉ của chính nó Khi bản tin request đến Server thì có thể có một danh sách các Via nếu có nhiều SIP server nằm giữa chủ gọi và bị gọi
• Danh sách các Via sẽ giúp cho việc định tuyến bản tin đáp ứng lại chủ gọi Server đáp ứng sẽ lấy ra lấy ra tiêu đề Via trên cùng (chặng nối tới nó) và gửi response tới địa chỉ đó
• Một thực thể SIP nhận một response sẽ bỏ tiêu đề Via trên cùng của bản tin (địa chỉ của chính nó) và chuyển tiếp response tới địa chỉ nằm trong tiêu đề Via tiếp theo trong danh sách Cứ như thế bản tin response được định tuyến tới chủ gọi
Trang 12• Ví dụ định tuyến bản tin SIP:
Via: IP1 addr Via: IP2 addr
Via: IP1 addr
Via: IP3 addr Via: IP2 addr Via: IP1 addr
Trang 134 Khái quát về hoạt động của SIP
được gắn một địa chỉ SIP hay còn gọi là SIP URL Người sử dụng phải đăng ký vị trí của họ với SIP Server Để tạo một cuộc gọi SIP, phía chủ gọi định vị tới máy phục vụ thích ứng và sau đó gửi một yêu cầu SIP Hoạt động SIP thường xuyên nhất là lời mời các thành viên tham gia hội thoại Thành phần Register đóng vai trò tiếp nhận các yêu cầu đăng ký từ UA và lưu trữ các thông tin này tại một dịch vụ phi SIP (Non-SIP).
Trang 144 Mô hình cuộc gọi cơ bản
Cuộc gọi trong mạng SIP
E164.arpa DNS Cloud
Company A
SIP Server
Internet
PSTN/GSM
SIP Gateway
SIP Gateway Company B
Company C
ENUM query
SIP Server
PSTN/GSM
Trang 155 Các thành phần SIP
E164.arpa DNS Cloud
Domain A
SIP Proxy
Internet
PSTN/GSM
SIP Gateway
SIP Gateway Domain B
Regisrar
SIP Redirect
Location Service
Location Service
UA
UA
Trang 16• Trong mạng SIP bao gồm các UA (User Agent) và các SIP Server:
– UA bao gồm UAC (User Agent Client) và UAS (User Agent Server)
– SIP Server bao gồm:
• Proxy Server: chuyển tiếp các bản tin request và response lại
• Redirect Server: cung cấp các địa chỉ liên lạc của thuê bao
• Registrar Server: quản lý các bản tin đăng ký vị trí
Và một số SIP server trong các bản draft
Trang 175.1 User Agent
• User Agent: Là thực thể Logic khởi tạo và kết thúc các phiên băng cách trao đổi các Request và Response
User Agent là một ứng dụng bao gồm cả UAC và UAS
– User Agent Client: là ứng dụng Client nơi tạo ra các request SIP
– User Agent Server: là ứng dụng Server nơi mà tiếp nhận Request và gửi lại một Response về phía
người sử dụng
Trang 18• Ví dụ: Các thực thể có chức năng UA có thể là các thuê bao, Gateway, SIP Server.
UAS UAC UAS UAC
UAS Redirect
Trang 195.2 SIP server:
Registrar Server: “một server mà tiếp nhận các bản tin yêu cầu REGISTER và chuyển thông
tin mà nó nhận được trong các bản tin request tới dịch vụ vị trí (location service) đối với domain
mà nó quản lý” Các thông tin này có thể được sử dụng bởi một số loại server khác Nó sẽ ánh
xạ địa chỉ SIP thành các địa chỉ IP nơi mà các UA có thể sử dụng
Trang 21 Redirect Server: Là một Server tiếp nhận một yêu cầu của SIP, ánh xạ địa chỉ SIP của phía bị gọi
thành 0 (nếu như không xác định được địa chỉ), hoặc nhiều địa chỉ mới và gửi lại chúng cho client trong tiêu đề Contact của các bản tin response 3xx Không giống với Server Proxy, Server Redirect không chuyển tiếp các yêu cầu tới các Server khác
Trang 22 Proxy Server:
Chuẩn SIP định nghĩa các Proxy Server như sau “các thành phần mà định tuyến các bản tin SIP request tới UAS
và các bản tin SIP response tới UAC Mỗi SIP Proxy sẽ ra các quyết định định tuyến và thay đổi các request trước khi chuyển tiếp nó tới thành phần tiếp theo Các Response sẽ định tuyến quay trở lại UAC đi qua các Proxy mà Request đã đi qua theo chiều ngược lại”.
Proxy thực hiện các hoạt động, xác định tính hợp lệ của bản tin, nhận thực người sử dụng, phân nhánh các
request, phân giải địa chỉ, hủy bỏ các cuộc gọi đang chờ, Record-Route và Loose-Route, và phát hiện và kiểm soát quay vòng của các bản tin (loop).
Sự linh hoạt của các proxy SIP cho phép các nhà khai thác và quản trị mạng sử dụng các proxy cho các mục
đích khác nhau và trong các vị trí khác nhau trong mạng (chẳng hạn như Proxy biên, Proxy lõi, và Proxy của các doanh nghiệp)
Trang 246 Bản tin SIP
Bản tin SIP được mã hóa dưới dạng văn bản và dùng kiểu ký tự ISO
10646 và mã hoá UTF-8 Mỗi dòng được kết thúc bằng CRLF Nhiều cú pháp bản tin và trường tiêu đề tương tự như HTTP Có hai loại bản tin
là bản tin yêu cầu (Request) từ phía Client và bản tin đáp ứng
(Response) từ Server.
Request: Gửi từ client tới server
Response: Gửi từ server tới client
Trang 256.1 Phân loại bản tin
Request: Các bản tin yêu cầu được User Agent và SIP Server sử dụng để xác định ví trí thuê
bao, khởi tạo và quản lý các cuộc gọi
Mỗi loại Request được gọi là một Method: có 6 method cơ bản là (INVITE, ACK, CANCEL, BYE,
OPTIONS, REGISTER)
Các method mở rộng (INFO, PRACK, UPDATE, MESSAGE, REFER, NOTIFY, SUSCRIBE,
UNSUSCRIBE)
Trang 26Method Mô tả
INVITE Khởi tạo cuộc gọi, thay đổi các tham số của gọi trong trường hợp Re-INVITE
ACK Xác nhận response cuối cùng cho INVITE
CANCEL Hủy bỏ trong quá trình tìm kiếm và rung chuông
BYE Kết thúc cuộc gọi
OPTIONS Hỏi năng lực của User hay Server
REGISTER Đăng ký với Registrar Server
Bản tin Request
Trang 27Mở rộng Mô tả
INFO Gửi một thông tin giữa cuộc gọi mà nó không làm thay đổi trạng thái của phiên (RFC2976) (mang DTMF digit)
SUSCRIBE Dùng đểchủ gọi yêu cầu cập nhật thông tin về sự hiện diện của bị gọi
NOTIFY Dùng để vận chuyển trạng thái đã được cập nhật
UPDATE Cho phép client cập nhật các tham số của phiên mà không ảnh hưởng tới trạng thái của cuộc hội thoại (RFC3311)
MESSAGE Dùng để truyền các bản tin nhắn giữa các người sử dụng gần theo thời gian thực, IM được mang trong phần than bản tin
Trang 28 Response : Là đáp ứng trả lời các Request, mỗi đáp ứng dùng một
mã trong một dải mã Có hai nhóm response và được chia nhỏ thành
6 loại con.
SIP transaction (tìm kiếm, rung chuông, xếp hàng).
Final (2xx, 3xx, 4xx, 5xx, 6xx): response này chỉ thị kết thúc SIP transaction.
Trang 29Loại Ý nghĩa
1xx Tìm kiếm, rung chuông, đợi
2xx Thành công
3xx Định hướng lại cuộc gọi, chuyển tiếp
4xx Request không được chấp nhận (client có lỗi)
5xx Lỗi server
6xx Bận, từ chối, địa điểm không sử dụng được
Bản tin Respond
Trang 30E164.arpa DNS Cloud
Domain A
SIP Proxy
Internet Regisrar
Location Service
OK
BYE
Trang 326.2 Cấu trúc bản tin:
Start line: truyền loại bản tin, và version
đổi ý nghĩa bản tin.
thể dùng để chứa dữ liệu (các loại body: SDP, MIME, các
loại khác được định trong IETF)
Start line
Headers
Body
Trang 33 INVITE sip:bob@biloxi.example.com SIP/2.0 (Start Line)
Via: SIP/2.0 client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>;tag=8321234356
Call-ID: 3848276298220188511@atlanta.example.com (Header)
Trang 34 Starline: Mỗi bản tin SIP được bắt đầu với một Start Line, Start Line vận chuyển
loại bản tin (phương thức trong các Request, và mã đáp ứng trong các bản tin đáp ứng) và phiên bản của giao thức Start line có thể là Request-Line (trong các
request) ) hoặc là Status-Line (trong các response):
Trang 35 Request-Line: bao gồm phương thức (Invite, Ack, Cancel,…), Request URI chỉ ra người sử dụng hay dịch vụ mà yêu cầu này được định địa chỉ tới và SIP version (phiên bản SIP được sử dụng) Request URI có thể thay đổi bởi Proxy.
Status-Line: Chứa SIP version, mã trạng thái (mã gồm 3 chữ số) và cụm từ (mô
tả nguyên bản mã trạng thái)
Trang 36 Header: Các trường Hearder của SIP được sử dụng để vận chuyển các thuộc tính của bản tin và để thay đổi ý nghĩa của bản tin Chúng tương tự như các trường tiêu để của bản tin HTTP theo cả cú pháp và ngữ nghĩa (thực tế có một vài tiêu đề được mượn từ HTTP) cho nên chúng luôn có khuôn dạng như sau:
<Name>:< Value>
Thứ tự các trường tiêu đề khác tên là không qua trọng (nhưng các tiêu đề mà được xử dụng
để định tuyến bởi các proxy sẽ được đặt trước) Thứ tự các tiêu đề có cùng tên là quan trong Tiêu đề bản tin bao gồm bốn loại:
Tiêu đề chung
Tiêu đề Request
Tiêu đề Response
Tiêu đề thực thể
Trang 37 Body: Thân bản tin được sử dụng để mô tả phiên được khởi tạo (ví dụ, trong một phiên multimedia phần này sẽ mang loại mã hóa audio và video, tốc độ lấy mẫu
…), hoặc nó có thể được sử dụng để mang dữ liệu dưới dạng text hoặc nhị phân (không được dịch) mà liên quan đến phiên đó Phần thân bản tin có thể xuất hiện trong cả bản tin yêu cầu và đáp ứng Các loại Body bao gồm:
SDP: Session Description Protcol
MIME: Multipurpose Internet Mail Extentions
Các phần khác: được định nghĩa trong IETF
Trang 387.1 Xác định vị trí của Server:
Các UA có 3 cách để xác định địa chỉ mà các bản tin Registration của nó được gửi tới: bằng cách cấu hình, sử dụng address-of-record, và multicast
Bằng cách cấu hình trực tiếp bằng địa chỉ IP của nơi gửi bản tin
Sử dụng address-of-record bằng cách sử dụng phần host của address-of-record
ví dụ, UA đối với người sử dụng là “sip:carol@chicago.com” sẽ gửi bản tin REGISTER tới “sip:chicago.com”
Gửi bản tin đăng ký tới địa chỉ multicast “tất cả các sip server” well-known
7 Hoạt động của SIP
Trang 39Location Service
REGISTER
OK
Store
Proxy1 Atlanta.ex
192.0.2.111
Proxy3 chicago.ex
192.0.2.233
Proxy2/R biloxi.ex
Trang 40Location Service
REGISTER
OK
Store
Proxy1 Atlanta.ex
192.0.2.111
Proxy3 chicago.ex
192.0.2.233
Proxy2/R biloxi.ex
Trang 41Location Service
OK
Store
Proxy1 Atlanta.ex
192.0.2.111
Proxy3 chicago.ex
192.0.2.233
Proxy2/R biloxi.ex
Trang 427.2 Xác định vị trí người sử dụng
Location Service
Trang 437.3 Registration
Bob SIP Server | | | REGISTER F1 | | ->| | 401 Unauthorized F2 | |< -| | REGISTER F3 | | ->| | 200 OK F4 | |< -| | |
Trang 44 Cập nhật danh sách liên lạc: Server sẽ cập nhật các danh sách liên lạc trong
trường contact của bản tin REGISTER và trả về bản tin 200 OK chứa các danh sach
đã cập nhật
Yêu cầu các danh sách liên lạc hiện tại: Client gửi bản tin REGISTER không
chứa trường contact và server gửi về bản tin 200 OK chứa các danh sách đã được đăng ký
Trang 45 Hủy bỏ đăng ký: Client sẽ gửi bản tin REGISTER có expire = 0 cho tất cả các
danh sách trong contact (contact : *)
Đăng ký không thành công: Client gửi user & password không chính xác.
Bob SIP Server
| 401 Unauthorized F2 | |< -|
| REGISTER F3 | | ->|
| 401 Unauthorized F4 | |< -|
| |
Trang 467 Hoạt động của SIP(11)
Trang 47Location Service
INVITE, ACK, BYE
Trang 487 Hoạt động của SIP
Trang 49Location Service
Proxy1 atlanta
192.0.2.111
Proxy3 chicago.ex
192.0.2.233
Redirect biloxi
Trang 50Hoạt động của SIP
Trang 51SIP vs H323
Trang 528 Đánh giá SIP
SIP là giao thức đề cử được tổ chức IETF đưa ra Nó ra đời với mục đích đơn giản hoá cơ chế báo hiệu và điều khiển cuộc gọi cho VoIP SIP là giao thức dạng text, các lệnh SIP có cấu trúc đơn giản để các thiết bị đầu cuối dễ dàng
phân tích và sửa đổi.
Các ưu điểm nổi bật của SIP là:
- Tính mở rộng một cách tự nhiên của giao thức cho phép dễ dàng định
nghĩa và thi hành trong tương lai.
- Cho phép tạo các thiết bị đầu cuối một cách đơn giản và dễ dàng mà vẫn
đảm bảo chi phí thấp.
Tuy nhiên SIP vẫn còn có các nhược điểm:
- SIP là giao thức rất mới, cần được tiếp tục hoàn thiện.
- Nó chỉ đề cập tới một phạm vi hẹp trong toàn bộ phiên truyền thông nên cần phải được kết hợp với các giao thức khác trong quá trình xây dựng một hệ thống hoàn chỉnh.