1. Giao thức H323
1.3 Thiếtlập cuộcgọi VoIP sửdụng giao thức H.323
Hình 2.2. Thiết lập cuộc gọi Gatekeeper nội vùng.
− Bước 1: đàu cuối A quay sốđiện thoại để gọi cho đầu cuối B
− Bước 2: Gateway A gửi cho Gatekeeper một bản tin ARQ( Acknowledge Request), yêu cầu cho phép gọi đến đầu cuối B.
− Bước 3: Gatekeeper tìm đầu cuối B và trả lại một bản tin ACF( Acknowledge Confirmation) với
địa chỉ IP của Gateway B.
− Bước 4: Gateway A gởi bản tin thiết lập cuộc gọi Q.931 cho Gateway B với sốđiện thoại của đầu cuối B.
− Bước 5: Gateway B gửi bản tin ARQ ( Acknowledge Request) cho Gatekeeper, yêu cầu cho phép trả lời cuộc gọi của Gateway A.
− Bước 6: Gatekeeper trả lại bản tin ACF với địa chỉ IP của Gateway A.
− Bước 7: Gateway B thiết lập một cuộc gọi đến đầu cuối B.
− Bước 8: khi đầu cuối B trả lời, Gateway B gởi kết nối Q.931 đến Gateway A.
1.3.2 Cuộc gọi Gatekeeper liên vùng:
Hình 2.3. Thiết lập cuộc gọi Gatekeeper liên vùng
− Bước 1: đầu cuối A quay sốđiện thoại của đầu cuối B.
− Bước 2: Gatewway A gởi bản tin ARQ cho Gatekeeper A, yêu cầu cho phép gọi đến đầu cuối B.
− Bước 3: Gatekeeper A tìm và không tìm thấy sựđăng ký của đầu cuối B. Nó tra các sốđầu và nhận thấy trùng khớp với Gatekeeper B. Nó gởi bản tin LRQ cho Gatekeeper B và bản tin RIP cho Gateway A.
− Bước 4: Gatekeeper B tìm và nhận thấy sựđăng ký của đầu cuối B, nó gởi trả lại Gatekeeper A bản tin LCF với địa chỉ IP của Gateway B.
− Bước 5: Gatekeeper A trả lại bản tin ACF cho Gateway A với địa chỉ IP của Gateway B.
− Bước 6: Gateway A gởi bản tin thiết lập cuộc gọi Q.931 đến Gateway B với số điện thoại của
đầu cuối B.
− Bước 7: Gatewway B gởi cho Gatekeeper B bản tin ARQ, yêu cầu hco phép trả lời cuộc gọi của Gateway A.
− Bước 8: Gatekeeper B trả lại bản tin ACF với địa chỉ IP của Gateway A
− Bước 10: Khi đầu cuối B trả lời, Gateway B gởi bản tin kết nối Q.931 đến Gateway A.
2. Giao thức khởi tạo phiên SIP (Session Initiation Protocol):
SIP được phát triển bởi IETF ( Internet Engineering Task Force),là giao thức báo hiệu điều khiển thuộc lớp ứng dụng được dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phương tiện (multimedia). Các phiên multimedia bao gồm thoại Internet, hội nghị, và các ứng dụng tương tự
có liên quan đến các phương tiện truyền đạt (media) như âm thanh, hình ảnh, và dữ liệu. SIP sử dụng các bản tin mời (INVITE) để thiết lập các phiên và để mang các thông tin mô tả phiên truyền dẫn. SIP hỗ trợ các phiên đơn bá (unicast) và quảng bá (multicast) tương ứng các cuộc gọi điểm tới điểm và cuộc gọi đa điểm.
Hình 2.4. Giao thức khởi tạo phiên SIP
SIP là giao thức dựa trên việc giải mã các kí tự của văn bản, nó là sự kết hợp của hai giao thức được sử dụng phổ biến cho Internet là HTTP ( Hyper Text Transport Protocol) dùng cho truy cập Web và SMTP (Simple Mail Transport Protocol) được sử dụng cho email.
Người dùng SIP sử dụng TCP hoặc UDP (cổng mặc định là 5060) để kết nối với máy chủ SIP và các đầu cuối SIP khác. SIP được dùng để “thiết lập, chỉnh sửa, kết thúc các phiên truyền thông như là các cuộc gọi điện thoại Internet”. SIP không truyền thông đa phương tiện giữa các điểm đầu cuối,toàn bộ việc truyền thoại/hình ảnh được thực hiện thông qua một giao thức riêng biệt khác là RTP(Real Time Protocol-Giao thức thời gian thực).
Khi sử dụng giao thức SIP, các người dùng có thể biết được tham số của phiên như phương thức báo hiệu, kiểu dữ liệu, giao thức truyền…thông qua giao thức mô tả phiên SDP (Session Description Protocol) được cung cấp trong bản tin SIP.
2.1 Tính năng của SIP:
Giao thức SIP được thiết kế với những chỉ tiêu sau:
− Tích hợp với các giao thức đã có của IETF.
− Đơn giản và có khả năng mở rộng
− Hỗ trợ tối đa sự di động của đầu cuối.
− Dễ dàng tạo tính năng mới cho dịch vụ.
− Tích hợp với các giao thức đã có của IETF:
2.1.1 Các giao thức khác của IETF để xây dựng những ứng dụng SIP
. SIP có thể hoạt động cùng với nhiều giao thức như :
- RSVP (Resource Reservation Protocol) : Giao thức giành trước tài nguyên mạng. - RTP (Real-time transport Protocol) : Giao thức truyền tải thời gian thực
- RTSP (Real Time Streaming Protocol) : Giao thức tạo luồng thời gian thực - SAP (Session Advertisement Protocol) : Giao thức thông báo trong phiên kết nối - SDP (Session Description Protocol) : Giao thức mô tả phiên kết nối đa phương tiện
- MIME (Multipurpose Internet Mail Extension - Mở rộng thư tín Internet đa mục đích) : Giao thức thưđiện tử
- HTTP (Hypertext Transfer Protocol) : Giao thức truyền siêu văn bản - COPS (Common Open Policy Service) : Dịch vụ chính sách mở chung - OSP (Open Settlement Protocol) : Giao thức thỏa thuận mở
2.1.2 Đơn giản và có khả năng mở rộng:
SIP có rất ít bản tin, không có các chức năng thừa nhưng SIP có thể sử dụng để thiết lập những phiên kết nối phức tạp như hội nghị… Đơn giản, gọn nhẹ, dựa trên khuôn dạng văn bản, SIP là giao thức ra đời sau và đã khắc phục được điểm yếu của nhiều giao thức trước đây. Các phần mềm của máy chủủy quyền, máy chủđăng kí, máy chủ chuyển đổi địa chỉ, máy chủđịnh vị… có thể chạy trên các máy chủ khác nhau và việc cài đặt thêm máy chủ hoàn toàn không ảnh hưởng đến các máy chủđã có. Chính vì thế hệ thống chuyển mạch SIP có thể dễ dàng nâng cấp.
Do có máy chủủy quyền, máy chủđăng ký và máy chủ chuyển đổi địa chỉ hệ thống luôn nắm
được địa điểm chính xác của thuê bao. Thí dụ thuê bao với địa chỉ ptit@vnpt.com.vn có thể nhận
được cuộc gọi thoại hay thông điệp ở bất cứđịa điểm nào qua bất cứđầu cuối nào như máy tính để
bàn, máy xách tay, điện thoại SIP… Với SIP rất nhiều dịch vụ di động mới được hỗ trợ.
2.1.4 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới:
Là giao thức khởi tạo phiên trong mạng chuyển mạch gói SIP cho phép tạo ra những tính năng mới hay dịch vụ mới một cách nhanh chóng. Ngôn ngữ xử lý cuộc gọi (Call Processing Language) và Giao diện cổng kết nối chung (Common Gateway Interface) là một số công cụđể thực hiện điều này. SIP hỗ trợ các dịch vụ thoại như chờ cuộc gọi, chuyển tiếp cuộc gọi, khóa cuộc gọi… (call waiting, call forwarding, call blocking…), hỗ trợ thông điệp thống nhất…
2.2 Các thành phần trong mạng SIP:
SIP gồm 2 thành phần chính là User Agent và SIP Server.
• User Agent (UA): là các phần tử đầu cuối của mạng như: SIP Phone, Gateway, Softphone (PC có hỗ trợ Software),…UA khởi đầu yêu cầu (request) thiết lập hay kết thúc phiên thoại, gửi và nhận dữ liệu (thoại, video, data).
o User Agent Client (UAC): có chức năng khởi tạo một yêu cầu SIP (request).
o User Agent Server (UAS): tiếp nhận các yêu cầu và trả lời (response) cho UAC.
• SIP Server: là các phần tử trung gian của mạng xử lý các bản tin SIP với các chức năng cụ
thể như sau:
o Proxy Server (máy chủủy quyền):
§ Nhận request từ một UA hay một Proxy khác
§ Chuyển hướng hay ủy quyền các request đến UA hay Server kế tiếp
§ Thêm vào hoặc sửa đổi các header, định tuyến, đăng nhập/tính tiền, thẩm định quyền và phân quyền,…
§ Proxy có thể lưu(stateful) hoặc không lưu trạng thái (stateless) của bản tin trước đó. Thôngthường, proxy có lưu trạng thái, chúng duy trì trạng thái trong suốt transaction(khoảng 32 giây).
o Redirect Server (máy chủ chuyển tiếp):
§ Truy nhập cơ sở dữ liệu và dịch vụđịnh vịđể tìm địa chỉ của user và gửi thông tin này về cho người gọi.
§ Có thể tích hợp với Registra Server.
o Registrar server (máy chủđăng ký):
§ Các yêu cầu đăng ký và cập nhật thông tin của UA vào vùng dịch vụ/cơ sở Nhận dữ
liệu “location database” nằm trong Location Server. § Lưu thông tin của các UA vào bảng tham chiếu địa chỉ. § Được Proxy Server tham vấn khi định tuyến thông tin.
o Location Server:
§ Lưu thông tin trạng thái hiện tại của người dùng trong mạng SIP.
2.3 Bản tin SIP:
2.3.1 Các loại bản tin SIP:
• SIP Request (bản tin yêu cầu):
RFC 3261 định nghĩa 6 loại SIP Request cho phép UA và proxy có thể xác định người dùng, khởi tạo, sửa đổi, hủy một phiên.
− Bản tin INVITE: yêu cầu thiết lập một phiên hoặc để thay đổi các đặc tính của phiên trước đó.Trong bản tin này có sử dụng SDP để định nghĩa về các thông số media của phiên. Một response thành công có giá trị 200 được trả lại các thông số mà người được gọi chấp nhận trong phiên media.
− Bản tin ACK xác nhận rằng client đã nhận được response cuối cùng của bản tin INVITE. ACK chỉ được sử dụng kèm với bản tin INVITE. ACK được gửi từ đầu cuối đến đầu cuối cho response 200 OK. ACK cũng có thể chứa phần thân bản tin với mô tả phiên cuối cùng nếu bản tin INVITE không chứa.
− Bản tin OPTIONS: bản tin này cho phép truy vấn và thu thập User Agent và các khả
− Bản tin BYE: UA sử dụng bản tin này để yêu cầu hủy một phiên đã được thiết lập trước
đó.
− Bản tin CANCEL: cho phép client và server hủy một request, ví dụ như INVITE. Nó không ảnh hưởng tới request đã hoàn thành trước đó mà server đã gửi response.
− Bản tin REGISTER: bản tin này được sử dụng bởi Client đểđăng ký thông tin vị trí của nó với SIP server.
• SIP Responses (bản tin đáp ứng):
Server gửi bản tin SIP đáp ứng (SIP response) tới client để báo về trạng thái của SIP request mà client gửi trước đó. Các SIP response được đánh số từ 100 đến 699, được chia thành các lớp nghĩa khác nhau:
Các lớp Response Mã trả về Mô tả
Thông tin 100 Đang thực hiện kết nối 180 Đang đổ chuông
181 Cuộc gọi đang được chuyển tiếp 182 Được đặt vào hàng đợi
183 Phiên đang được xử lý
Thành công 200 Thành công
Chuyển hướng 300 Nhiểu lựa chọn 301 Chuyển vĩnh viễn 302 Chuyển tạm thời 305 Sử dụng proxy 380 Dịch vụ khác
Lỗi Client 400 Yêu cầu không hợp lệ
Các lớp Response Mã trả về Mô tả
402 Yêu cầu thành toán 403 Bị cấm
404 Không tìm thấy
405 Bản tin không được phép 406 Không chấp nhận
407 Yêu cầu xác thực Proxy 408 Request timeout
410 Đã dời đi 413 Yêu cầu quá dài
414 URL được yêu cầu quá lớn 415 Không hỗ trợ kiểu media 416 Không hỗ trợ URI 420 Phần mở rộng lỗi 421 Yêu cầu phần mở rộng
423 Khoảng thời gian giữa hai sự kiện quá ngắn 480 Tạm thời chưa sẵn sàng
481 Transaction không tồn tại 482 Phát hiện thấy “loop” (chu trình) 483 Quá nhiều “hop”
484 Địa chỉ không đủ
485 Mật mở không rõ ràng 486 Đang bận
Các lớp Response Mã trả về Mô tả
487 Yêu cầu bị hủy
488 Không thể chấp nhận tại đây 491 Yêu cầu chưa được giải quyết 493 Không giải mã được
Lỗi Server 500 Lỗi nội tại trong server 501 Chưa được thực hiện đầu đủ
502 Gateway lỗi
503 Dịch vị không tồn tại 504 Server timeout
505 Phiên bản SIP không được hỗ trợ 513 Bản tin quá lớn
Lỗi toàn cục 600 Bận ở khắp mọi nơi 603 Suy sụp
604 Không tồn tại 606 Không thể chấp nhận
2.3.2 Cấu trúc bản tin SIP:
v Bản tin Request:
INVITE sip:bob@proxy.company.com SIP/2.0
Via: SIP/2.0/UDP ph1.company.com:5060;branch=z9hG4bK83749.1 From: Alice <sip:alice@company.com>;tag=1234567
INVITE sip:bob@proxy.company.com SIP/2.0
To: Bob <sip:bob@proxy.company.com> Call-ID: 12345601@ph1.company.com CSeq: 1 INVITE Contact: <sip:alice@ph1.company.com> Content-Type: application/sdp Content-Length: ... v=0 o=alice 2890844526 28908445456 IN IP4 172.18.193.102 s=Session SDP c=IN IP4 172.18.193.102 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 v Bản tin Respone: SIP/2.0 200 OK Via: SIP/2.0/UDP ph1.company.com:5060;branch=z9hG4bK83749.1 From: Alice <sip:alice@company.com>;tag=1234567 To: Bob <sip:bob@proxy.company.com>;tag=9345678
SIP/2.0 200 OK Call-ID: 12345601@ph1.company.com CSeq: 1 INVITE Content-Length: ... v=0 o=bob 3800844316 3760844696 IN IP4 172.18.193.109 s=Session SDP c=IN IP4 172.18.193.109 t=0 0 m=audio 48140 RTP/AVP 0 a=rtpmap:0 PCMU/8000
2.3.3 Ý nghĩa của các trường bản tin
• Trường Header:
+Các Header bắt buộc:
o To: là địa chỉ URL của người nhận.
o From: là địa chỉ URL của người gởi.
o Via: đường truyền để gởi các Request.
o Call-ID: địa chỉ cuộc gọi.
o Cseq: số thứ tựđể phân biệt các yêu cầu khác nhau trong cùng một session.
o Max-Forwards: mỗi khi server chuyển tiếp thông điệp, con số này bị giảm dần về zero.
• Body Messages:
SDP là giao thức được dùng để mô tả các thông số khởi tạo dòng thông tin đa phương tiện. Giống như SIP, SDP hoạt động dựa trên mã hóa kí tự. Mỗi bản tin SDP gồm nhiều trường nhãn là những chữ cái viết tắt. Các trường nhãn trong SDP:
- v (Version): số phiên bản của giao thức SDP.
- o (Original): chứa thông tin vềđiểm xuất phát bản tin và tham số nhận dạng phiên. - s (Subject):nội dung, mục đích cuộc gọi.
- c (connection): chứa thông tin kết nối truyền thông.
- t (time): chỉ ra thời gian bắt đầu và thời gian kết thúc của phiên
- m (media): thông tin về kiểu của phiên truyền thông. - a (attributes): thuộc tính kiểu truyền thông.
2.4 Hoạt động của SIP:
Địa chỉ SIP tồn tại dưới dạng user@host. Trong đó: - User : tên người dùng hoặc sốđiện thoại. - Host: tên miền hoặc địa chỉ mạng. Mỗi địa chỉ SIP là duy nhất.
2.4.1 Hoạt động của máy chủ ủy quyền (proxy server):
Cuộc gọi SIP được định tuyến qua Proxy server.
+ UserA@yahoo.com gửi bản tin INVITE cho UserB ở miền hostmail.com, bản tin này đến proxy server SIP của miền hostmail.com (Bản tin INVITE có thể đi từ Proxy server SIP của miền yahoo.com và được Proxy này chuyển đến Proxy server của miền hostmail.com).
+ Proxy server của miền hostmail.com sẽ tham khảo server định vị (Location server) để quyết
định vị trí hiện tại của UserB.
+ Server định vị trả lại vị trí hiện tại của UserB (giả sử là UserB@hostmail.com).
+ Proxy server gửi bản tin INVITE tới userB@hotmail.com. Proxy server thêm địa chỉ của nó trong một trường của bản tin INVITE.
+ UAS của UserB đáp ứng cho server Proxy với bản tin 200 OK.
+ Proxy server gửi đáp ứng 200 OK trở về userA@yahoo.com.
+ UserA@yahoo.com gửi bản tin ACK cho UserB thông qua proxy server.
+ Proxy server chuyển bản tin ACK cho userB@hostmail.com.
+ Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP được mở giữa hai điểm cuối để truyền tín hiệu thoại.
+ Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc bị xóa bằng cách sử dụng bản tin BYE và ACK giữa hai điểm cuối.
Hình 2.6. Thiết lập cuộc gọi qua Redirect Server
+ Redirect server nhân được yêu cầu INVITE từ A (Yêu cầu này có thể đi từ một proxy server khác).
+ Redirect server truy vấn Location server địa chỉ của B.
+ Location server trả lại địa chỉ của B cho Redirect server.
+ Redirect server trả lại địa chỉ của B đến người gọi A. Nó không phát yêu cầu INVITE như
proxy server.
+ User Agent bên A gửi lại bản tin ACK đến Redirect server để xác nhận sự trao đổi thành công.
+ Người gọi A gửi yêu cầu INVITE trực tiếp đến địa chỉ được trả lại bởi Redirect server (đến B).
+ Một tín hiệu hồi đáp 180 Ringing – được gửi trả từ B.
+ B đáp ứng với chỉ thị thành công (200 OK).
+ A gởi ACK để hoàn tất việc thiết lập.
+ Cuộc gọi đích thực được truyền dưới dạng dữ liệu thông qua RTP.
2.5 So sánh giữa giao thức H.323 và SIP
Giữa H.323 và SIP có nhiều điểm tương đồng. Cả hai đều cho phép điều khiển, thiết lập và huỷ cuộc gọi. Cả H.323 và SIP đều hỗ trợ tất cả các dịch vụ cần thiết, tuy nhiên có một sốđiểm khác biệt giữa hai chuẩn này.
v H.323 hỗ trợ hội nghị đa phương tiện rất phức tạp. Hội nghị H.323 về nguyên tắc có thể cho phép các thành viên sử dụng những dịch vụ như bảng thôngbáo, trao đổi dữ liệu, hoặc hội nghị video.
v SIP hỗ trợ SIP-CGI (SIP-Common Gateway Interface) và CPL (Call Processing Language). v SIP hỗ trợđiều khiển cuộc gọi từ một đầu cuối thứ 3. Hiện nay H.323 đang được nâng cấp để
Chức năng SIP H. 323
Tổ chức IETF ITU
Quan hệ kết nối Ngang cấp Ngang cấp Khởi điểm Dựa vào mạng internet
và các ứngdụng như
Web. Cú pháp và bản tin tương tự như HTTP.
Cơ sở mạng thoại. Giao thức báo hiệu tuân theo chuẩn ISDN Q. SIG.
Đầu cuối Đầu cuối thông minh SIP Đầu cuối thông minh H. 323 Các máy chủ lõi Máy chủ ủy quyền SIP
(Proxy Server), máy chủ
chuyển đổi địa chỉ
(Ridirect Server), máy chủ định vị (Location Server), máy chủđăng ký (Registra server).
Điều khiển cổng kết nối H323.
Khuôn dạng bản tin Text, UTF-8. Nhị phân ASN. 1 PER. Trễ thiết lập cuộc gọi 1, 5 RTT (round-trip- time, tức chu kỳ gữi bản tin và nhận bản tin trả lời