Cùng với sự phát triển mạnh mẽ của kinh tế - xã hội , sự phát triển hệ thống viễn thông toàn cầu nói riêng và công nghệ thông tin nói chung đã đem lại cho con người nhiều tiện ích to lớn , tạo ra nhiều tiến bộ và phát triển vượt bậc của khoa học kĩ thuật. Công nghệ viễn thông không những đã rút ngắn khoảng cách về không gian, thời gian mà còn mang lại cho mọi người, mọi quốc gia và cả thế giới những lợi ích to lớn . Tốc độ phát triển nhanh chóng của công nghệ viễn thông không những giúp cho liên lạc giữa mọi người dễ dàng hơn , tiện lợi hơn , mà còn đóng góp quan trong vào sự phát triển của hoạt động kinh doanh của các doanh nghiệp . Trong đó công nghệ VOIP là một công nghệ điển hình . Công nghệ VOIP đã xuất hiện từ lâu trên thế giới , tuy nhiên ở Việt Nam thuật ngữ này cũng còn khá mới mẻ . Nhờ các lợi thế về nhiều mặt của mình , công nghệ VOIP đang có sức hấp dẫn vô cùng to lớn đối với tất cả các doanh nghiệp nói chung và các doanh nghiệp viễn thông nói riêng . Nó hứa hẹn sẽ mang lại cho người sử dụng nhiều dịch vụ hấp dẫn , và mang lại cho các doanh nghiệp nhiều tiện ích to lớn
Trang 1CHƯƠNG II.TỔNG QUAN VOIP
I Voip là gì ?
Đầu năm 1995 công ty VOLCALTEC đưa ra thị trường sảm phẩm phần mềm thực hiện cuộc thoại qua Internet đầu tiên trên thế giới Sau đó có nhiều công ty đã tham gia vào lĩnh vực này Tháng 2 năm 1996 VOLCALTEC kết hợp với DIALOGIC tung ra thị trường sản phẩm kết nối mạng PSTN và Internet Hiệp hội các nhà sản xuất thoại qua mạng máy tính đã sớm ra đời và thực hiện chuẩn hóa dịch vụ thoại qua mạng Internet Việc truyền thoại qua mạng Internet đã gây được sự chú ý lớn trong nhưng năm qua và dần được ứng dụng rộng rãi trong thực tế
VOIP ( Voice Over Internet Protocol ) là công nghệ cho phép truyền thoại sử dụng giao thức mạng IP , trên cơ sở hạ tầng sẵn có của mạng Internet VOIP là một trong các công nghệ viễn thông đang được quan tâm nhất hiện nay không chỉ đối với các nhà khai thác , các nhà sản xuất mà còn đối với cả người sử dụng dịch vụ VOIP
có thể vừa thực hiện cuộc gọi thoại như trên mạng điện thoại kênh truyền thống ( PSTN) đồng thời truyền dự liệu trên cơ sở mạng truyền dữ liệu Nó đã tận dụng được sức mạnh và phát triển vượt bậc của mạng IP vốn chỉ được sử dụng để truyền dữ liệu thông thường
Để có thể ban đầu hiểu được các ưu điểm của mạng VOIP mang lại , trước hết chúng ta đi vào nghiên cứu sự khác biệt giữa mạng chuyển mạch kênh PSTN truyền thống hiện có với mạng chuyển mạch gói nói chung và mạng VOIP nói riêng
1.1.Kỹ thuật chuyển mạch kênh ( Circuit Switching )
Một đặc trưng nổi bật của kỹ thuật này là hai trạm muốn trao đổi thông tin với nhau thì giữa chúng sẽ thiết lập một kênh cố định ( Circuit ) , kênh kết nối này được duy trì và dành riêng cho hai trạm tới khi đường truyền kết thúc Thông tin cuộc gọi trong suốt , quá trình thiết lập cuộc gọi gồm ba giai đoạn
Giai đoạn thiết lập kết nối : Thực chất quá trình này là liên kết các tuyến giữa các trạm trên mạng thành một tuyến (kênh ) duy nhất dành riêng cho cuộc gọi Kênh này đối với PSTN 64kb/s ( do bộ mã hóa PCM có tốc độ lấy mẫu tiếng nói 8kb/s
và được mã hóa 8 bit )
Giai đoạn truyền tin : Thông tin cuộc gọi là trong suốt Sự trong suốt thể hiện qua hai yếu tố đó là : thông tin không bị thay đổi trong suốt quá trình truyền qua mạng và độ trễ nhỏ
Giai đoạn giải phóng ( hủy bỏ ) kết nối : Sau khi cuộc gọi kết thúc , kênh sẽ được giải phóng để phục vụ cho cuộc gọi khác
Qua đó ta nhận thấy mạng chuyển mạch kênh có những ưu điểm nổi bật như chất lượng đường truyền tốt , ổn định , có độ trễ nhỏ Các thiệt bị của mạng chuyển mạch kênh đơn giản , có tính ổn định cao , chống nhiễu tốt Tuy nhiên phương pháp chuyển mạch này cũng có những hạn chế
Trang 2 Sử dụng băng thông không hiệu quả : Tính không hiệu quả này thể hiện qua hai yếu tố : Thứ nhất , độ rộng băng thông cố định 64kb/s Thứ hai , là kênh chỉ dành riêng cho một cuộc gọi nhất định Như vậy ngay cả khi tín hiệu thoại là “lặng” ( không có dữ liệu ) thì kênh vẫn không được giải phóng cho cuộc gọi khác
Tính an toàn : Do tín hiệu thoại bị gửi nguyên bản trên đường truyền nên rất dễ bị nghe trộm Ngoài ra đường giây thuê bao hoàn toàn có thể bị lợi dụng để ăn trộm cước viễn thông
Khả năng mở rộng của mạng kênh kém : Thứ nhất là do cơ sở hạ tầng khó nâng cấp và tương thích với các thiết bị cũ Thứ hai , do hạn chế của hệ thống báo hiệu vốn đã được sử dụng từ trước đó không có khả năng tùy biến cao
1.2 Kỹ thuật chuyển mạch gói
Trong chuyển mạch gói mỗi bản tin được chia thành các gói tin ( packet ) , có khuôn dạng được quy định trước Trong mỗi gói tin có chứa thông tin điều khiển , chứa các thông tin mà mạng yêu cầu để có thể định tuyến được các gói tin qua mạng
và đưa nó tới đích Tại mỗi node trên tuyến gói tin được nhận , nhớ và sau đó được chuyển tiếp tới trạm đích Kỹ thuật chuyển mạch gói trong quá trình truyền tin có thể được định tuyến động để truyền tin Điều khó khăn nhất đối với mạng chuyển mạch gói là việc tập hợp các gói tin để tạo lại bản tin ban đầu , đặc biệt là khi các gói tin được truyền theo nhiều con đường khác nhau tới trạm địch Chính vì lý do trên mà các gói tin cần phải được đánh số thứ tự , điều này có tác dụng , chống lặp , sửa sai , và có thể truyền lại khi hiện tượng mất gói xảy ra
Các ưu điểm của mạch chuyển mạch gói
Mềm dẻo và hiệu suất truyền tin cao : Hiệu suất sử dụng đường truyền rất cao
vì trong chuyển mạch gói không có khái niệm kênh cố định và dành riêng , mỗi đường truyền giữa các node có thể được các mạng cùng chia sẻ cho để truyền tin , các gói tin sắp hàng và truyền theo tốc độ rât nhanh trên đường truyền
Khả năng truyền ưu tiên : Chuyển mạch gói còn có thể xắp thứ tự cho các gói tin để có thể truyền theo mức độ ưu tiên Trong chuyển mạch gói số cuộc gọi bị
từ chối ít hơn , nhưng phải chấp nhận một nhược điểm đó là độ trễ tăng lên
Khả năng cung cấp nhiều dịch vụ thoai và phi thoại
Thích nghi tốt nếu như có lỗi xảy ra : Đặc tính này còn có được là nhờ khả năng định tuyến động của mạng
Các nhược điểm của mạng chuyển mạch gói
Trể đường truyền lớn : Do đi qua mỗi trạm , dữ liệu được lưu trữ sử lý trước khi truyền đi
Độ tin cậy của mạng gói không cao : Dễ xảy ra mất gói , mất bản tin
Tính đa đường có thể gây lặp bản tin , làm tăng lưu lượng mạng không cần thiết
Tính bảo mật trên đường truyền chung không cao
Trang 3 Tích hợp nhiều dịch vụ
Do việc thiết kế cơ sở hạ tầng thích hợp nên có khả năng hỗ trợ tất cả các hình thức thông tin cho phép chuẩn hóa tốt hơn và giảm thiểu số thiết bị Các tín hiệu báo hiệu , thoại và các số liệu đều chia sẻ cùng mạng IP Tích hợp đa dịch vụ sẽ tiết kiệm chi phí đầu tư nhân lực , chi phí xây dựng các mạng riêng rẽ
Thống nhất
Vì con người là nhân tố quan trọng nhưng cũng dễ sai lầm nhất trong một mạng viễn thông , mọi cơ hội để hợp nhất các thao tác , loại bỏ các sai sót , và thống nhất các điểm thanh toán sẽ rất có ích Trong các tổ chức kinh doanh sự quản lý trên cơ sở SNMP ( Simple Network Managerment Protocol ) có thể được cung cấp cho cả dịch
vụ thoại và dữ liệu sử dụng VOIP Việc sử dụng thống nhất giao thức IP cho tất cả các ứng dụng hứa hẹn giảm bớt phức tạp và tăng cường tính mềm dẻo Các ứng dụng liên quan như dịch vụ danh bạ và dịch vụ an ninh mạng có thể được chia sẻ dễ dàng hơn
Vấn đề quản lý băng thông
Trong PSTN băng thông cung cấp cho một cuộc gọi là cố định Trong VOIP , băng thông được cung cấp một cách linh hoạt và và mềm dẻo hơn nhiều Chất lượng của VOIP phụ thuộc và nhiều yếu tố , quan trọng nhất là băng thông Do đó không có
sự bắt buộc nào về băng thông giữa các thiệt bị đầu cuối mà chỉ có các chuẩn tùy vào băng thông có thể của mình , bản thân các đầu cuối có thể tự điều chỉnh hệ số nén và
do đó điều chỉnh được chất lượng cuộc gọi
Nâng cao ứng dụng và khả năng mở rộng
Thoại và Fax chỉ là các ứng dụng khởi đầu cho VOIP , các lợi ích trong thời gian dài được mong đợi từ các ứng dụng đa phương tiện (multimedia) và đa dịch vụ
Trang 4Tính linh hoạt của mạng IP cho phép tạo ra nhiều tính năng mới trong dịch vụ thoại Đồng thời tính mềm dẻo còn tạo khả năng mở rộng mạng và các dịch vụ
Tính bảo mật cao
VOIP được xây dựng trên nền tảng Internet vốn không an toàn , do đó sẽ dẫn đến khả năng các thông tin có thể bị đánh cắp khi các gói tin bị thu lượm hoặc định tuyến sai địa chỉ một cách cố ý khi chúng truyền trên mạng Các giao thức SIP ( Session Ineitiation Protocol – giao thức khởi tạo phiên ) có thể thành mật mã và xác định các thông điệp báo hiệu đầu cuối RTP ( Real Time Protocol ) hỗ trợ mã thành mật mã của phương thức truyền thông trên toàn tuyến được mã hóa thành mật mã đảm bảo truyền thông an toàn
2.2 Nhược điểm
Chất lượng dịch vụ chưa cao
Các mạng số liệu vốn dĩ không phải xây dựng với mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệu cho chất lượng cuộc gọi không được đảm báo trong trường hợp mạng xảy ra tắc nghẽn hoặc có độ trễ lớn Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượng truyền dữ liệu cao và ổn định Một yếu
tố làm giảm chất lượng thoại nữa là kỹ thuật nén để tiết kiệm đường truyền Nếu nén xuống dung lượng càng thấp thì kỹ thuật nén càng phức tạp, cho chất lượng không cao
và đặc biệt là thời gian xử lý sẽ lâu, gây trễ
bị thất lạc Tốc độ xử lý của các bộ Codec (Coder and Decoder) phải đủ nhanh để không làm cuộc đàm thoại bị gián đoạn Đồng thời cơ sở hạ tầng của mạng cũng cần được nâng cấp lên các công nghệ mới như Frame Relay, ATM, để có tốc độ cao hơn hoặc phải có một cơ chế thực hiện chức năng QoS (Quality of Service) Tất cả các điều này làm cho kỹ thuật thực hiện điện thoại IP trở nên phức tạp và không thể thực hiện được trong những năm trước đây
Trang 5Ngoài ra có thể kể đến tính phức tạp của kỹ thuật và vấn đề bảo mật thông tin (do Internet nói riêng và mạng IP nói chung vốn có tính rộng khắp và hỗn hợp, không
có gì bảo đảm rằng thông tin cá nhân được giữ bí mật)
Trang 6CHƯƠNG III CÁC GIAO THỨC TRONG VOIP
VOIP sử dụng các giao thức như :
SIP - Session Initiation Protocol
H.323
MGCP - Media Gateway Control Protocol
SCCP - Skinny Client Control Protocol (Cisco)
IAX2 – Internet Asterisk eXchange
ARP (Address Resolution Protocol
TCP (Transport Control Protocol)
UDP ( User Date Protocol)
Tiêu chuẩn H.323 đầu tiên được chính thức công bố và giải quyết các vấn đề cấp phát đa phương tiện trên cơ sở kỹ thuật LAN Tuy nhiên, khi mạng Internet và IP trở nên phổ biến, nhiều giao thức tiêu chuẩn RFC và các kỹ thuật đã được phát triển dựa trên một số ý tưởng của H.323
H.323 định nghĩa chi tiết các hoạt động của các thiết bị người dùng, các gateway và các trạm khác Đầu cuối (endpoint) người dùng H.323 có thể truyền thông thời gian thực, audio hai chiều, video hoặc dữ liệu với một kết cuối người dùng H.323 khác Đầu cuối cũng có thể truyền thông với gateway H.323 hoặc đơn vị điều khiển đa điểm MCU
1.2.Cấu trúc của H.323
Tiêu chuẩn H.323 đề nghị một cấu trúc mà bao gồm 4 thành phần: đầu cuối, Gateway, Gatekeeper và đơn vị điều khiển đa điểm MCU (Multipoint Control Unit) Cấu trúc này được mô tả như trong hình sau:
Trang 71.2.1.Đầu cuối (terminal)
Đây là các điểm cuối khác của LAN cung cấp thông tin thời gian thực, hai chiều Tất cả các đầu cuối H.323 đều yêu cầu hổ trợ H.245, H.225, Q.931, trạng thái công nhận đăng kí RAS (Registration Admission Status) và các giao thức truyền dẫn thời gian thực RTP (Real-time transport protocol)
H.245 được dùng để điều khiển việc sử dụng kênh, trong khi H.225 hoặc Q.931 được dùng cho báo hiệu cuộc gọi, thiết lập và xóa cuộc gọi
RTP được dùng như là một giao thức truyền dẫn mang thông tin lưu thoại RAS được sử dụng bởi điểm cuối để tương tác với gatekeeper Một đầu cuối H.323 có thể truyền thông với một đầu cuối H.323 khác, một gateway H.323 hoặc một MCU
1.2.2.Gateway
Một gateway H.323 là một điểm cuối trên mạng mà hổ trợ thông tin hai chiều
và thông tin thời gian thực giữa các đầu cuối H.323 trên mạng IP với các đầu cuối khác trên mạng chuyển mạch PSTN hoặc một gateway H.323 khác Các gateway là các thiết bị tùy chọn trong cấu trúc H.323 bởi vì các đầu cuối trong một LAN riêng lẻ
có thể truyền thông trực tiếp với nhau mà không dùng gateway Chỉ khi mà truyền thông cần mở rộng tới các mạng khác như là PSTN thì một gateway sẽ cần đến Trong các trường hợp, các giao thức H.245 và Q.931 được dùng bởi các điểm cuối và gateway trung gian
1.2.3.Gatekeeper
Đây là một thành phần quan trọng trong cấu trúc của H.323 và có chức năng
“quản lý” Nó là điểm trung tâm cho tất cả các cuộc gọi trong vùng của nó và cung cấp các dịch vụ tới các điểm cuối Một vùng là sự tập hợp của Gatekeeper và các điểm
Trang 8cuối Nếu mạng tồn tại nhiều GK thì sẽ được thiết lập thành nhiều vùng Và mỗi vùng
sẽ do một Gatekeeper quản lý Việc thông tin giữa các Gatekeeper sẽ được thực hiện thông qua các bản tin giao tiếp xác định vị trí đầu cuối trong quá trình thiết lập cuộc gọi Tuy nhiên, Gatekeeper là một thành phần tùy chọn trong cấu trúc của H.323
Cấu trúc vùng được quản lý bởi Gatekeeper được trình bày trong hình sau:
Nếu Gatekeeper có mặt trong hệ thống H.323 thì nó thực hiện những nhiệm vụ sau:
Dịch địa chỉ: cho phép dịch các qui ước, các ký hiệu, các địa chỉ “email” thành địa chỉ IP để thiết lập liên lạc IP
Điều khiển công nhận (AC): sự truy cập của các đầu cuối có thể được chấp nhận hoặc từ chối dựa vào việc xác nhận địa chỉ nguồn hoặc địa chỉ đích, thời gian hoặc bất kì biến số nào mà Gatekeeper quản lý
Quản lý cuộc gọi: Gatekeeper hoạt động như là một điểm liên lạc ban đầu cho người gọi, cho hai Gateway hoặc cho hai điểm cuối báo hiệu trực tiếp cho nhau
Quản lý băng thông: Gatekeeper có thể yêu cầu các đầu cuối và Gateway thay đổi các thông số truyền thông cuộc gọi để quản lý sử dụng băng thông
Quản lý vùng: Gatekeeper có thể yêu cầu không quá một số lượng cuộc gọi nào đó qua kết nối có dải tần thấp để tránh giảm sút về chất lượng
1.2.4.Đơn vị điều khiển đa điểm MCU:
MCU hoạt động như là một điểm cuối trên mạng để cung cấp khả năng cho 3 hoặc nhiều kết cuối và gateway để tham gia vào một hội nghị đa điểm Nó quản lý các tài nguyên hội nghị và sự thương lượng giữa các điểm cuối để quyết định bộ mã video hoặc audio được sử dụng MCU bao gồm một bộ điều khiển đa điểm lệnh MC (Multipoint Controler) và bộ xử lý đa điểm tùy chọn MP (Multipoint Processor)
Gatekeeper
Vùng Gateway
Gateway
Hình 2 Vùng Gatekeeper
Trang 9Chức năng của MC là quyết định dung lượng chung của các kết cuối hội nghị,
có thể định vị các đầu cuối, Gateway hoặc Gatekeeper MC cần thiết cho tất cả các hội nghị, nó sử dụng giao thức H.245
MP nhận các luồng dữ liệu audio, video và phân phối chúng tới các điểm cuối tham dự vào hội nghị đa điểm MP có thể không cần đến nhưng sự vắng mặt của nó là một gánh nặng trên đầu cuối
Trang 10Giai đoạn 1: giai đoạn phát hiện là bắt buộc đối với các điểm cuối, tìm một Gatekeeper để nó có thể đăng kí Tiến trình này cho phép nhà điều hành mạng quản lý những ai đang sử dụng mạng H.323 Trong suốt giai đoạn này, điểm cuối và Gatekeeper trao đổi các địa chỉ Địa chỉ multicast IP 224.0.1.41 được dành cho việc phát hiện Gatekeeper
Giai đoạn 2: hoạt động đăng kí định nghĩa một điểm cuối đăng kí với một Gatekeeper như thế nào Các địa chỉ được thiết lập trong giai đoạn phát hiện được sử dụng trong giai đoạn này Loại đầu cuối được định dạng (như là đầu cuối người dùng, Gatekeeper hoặc một MCU) Hoạt động đăng kí cho phép các trạm H.323 tham gia vào vùng cuộc gọi Cổng 1718 và 1719 để dành cho phát hiện UDP và đăng kí UDP
Giai đoạn 3: trong giai đoạn thiết lập cuộc gọi, một kết nối được thiết lập giữa hai điểm cuối
Giai đoạn 4: thay đổi dung lượng Mục đích của việc này là đảm bảo bất cứ một lưu lượng nào được gửi bởi một điểm cuối có thể được nhận hồn tồn bởi điểm cuối nhận Thông tin về phiên làm việc như tốc độ bit, loại mã hóa được thay đổi trong giai đoạn này Hoạt động này cho phép điểm cuối và gatekeeper thương lượng về dung lượng của chúng
Giai đoạn 5: H.323 cho phép truyền các loại lưu lượng khác nhau trên các kênh logic Giai đoạn này mở một hoặc nhiều kênh logic để mang lưu lượng
Giai đoạn 6 và 7: sau khi tất cả các giai đoạn được hồn thành, lưu lượng người dùng có thể được trao đổi Sau khi phiên làm việc người dùng hồn thành, hoạt động kết thúc xảy ra Sự kết thúc làm giải phóng các kênh logic và các nguồn tài nguyên khác (như băng thông) đã được thiết lập trong các giai đoạn trước
Phát hiện Đăng kí Thiết lập kết nối Thay đổi dung lượng Thay đổi kênh logic Truyền tải Kết thúc Hình 4 Các giai đoạn chính của H.323
RAS và Q.931
H.245
RAS
Trang 11 Sơ đồ thiết lập cuộc gọi Gatekeeper H.323 nội vùng
Sơ đồ thiết lập cuộc gọi Gatekeeper H.323 liên vùng
1.5.Một số hoạt động điển hình của H.323
Hoạt động phát hiện Gatekeeper
Hình 4.7 là một ví dụ về hoạt động của H.323: các thông điệp được trao đổi cho việc phát hiện gatekeeper Đây là hoạt động bắt buộc đối với mỗi điểm cuối mỗi khi nó đăng nhập mạng Trong giai đoạn 1, đầu cuối gửi một bản tin yêu cầu Gatekeeper (GRQ, Gatekeeper Request) Bản tin này được khảo sát bởi Gatekeeper, nó có thể
Hình 6 Thiết lập cuộc gọi Gatekeeper liên vùng
Thiết lập cuộc gọi H.225 (Q.931) Kết nối H.225 (Q.931) Điều khiển cuộc gọi H.245
Hình 5 Thiết lập cuộc gọi Gatekeeper nội vùng
Thiết lập cuộc gọi H.225 (Q.931) (TCP) Điều khiển cuộc gọi H.245 (TCP)
RTP (UDP) Gateway A
Gatekeeper
Gateway B
Đăng kí H.225 (UDP)
Đăng kí H.225 (UDP)
Trang 12(hoặc không thể) đáp ứng với bản tin xác nhận Gatekeeper (GCF, Gatekeeper Confirmation)
Điểm cuối bắt đầu đặt định thời dựa vào việc phát bản tin GRQ Nếu không nhận được đáp ứng, thời gian quá hạn và một GRQ khác được phát đi Nếu vấn đề này tiếp tục, nhà điều hành mạng phải dàn xếp để quyết định các vấn đề này Gatekeeper có thể trả lại bản tin GRJ (Gatekeeper Reject) nếu nó chọn không làm Gatekeeper của điểm cuối
Tiến trình phát hiện Gatekeeper có thể hoạt động theo hai cơ chế là multicast và unicast
Theo cơ chế unicast, các bản tin GRQ sẽ được gởi trên cổng 1719 của giao thức UDP với địa chỉ IP mặc định đã được cấu hình cho nó
Trong cơ chế multicast, để tìm kiếm Gatekeeper, các đầu cuối phải phát các bản tin của nó theo địa chỉ multicast 224.0.1.41 vì nó không được cấu hình địa chỉ IP mặc định của Gatekeeper trên mạng Theo phương thức này, một đầu cuối có thể nhận được nhiều bản tin GCF từ các Gatekeeper trên mạng Khi đó nó phải có cơ chế để lựa chọn một trong số các Gatekeeper đó
Hoạt động đăng kí với Gatekeeper
Một khi hoạt động phát hiện Gatekeeper xảy ra, các tiến trình đăng kí bắt đầu Các hoạt động này định nghĩa một điểm cuối tham gia vào một vùng như thế nào và cung cấp cho Gatekeeper số cổng và địa chỉ của nó Hình 4.8 trình bày sự trao đổi bản tin, điểm cuối gửi bản tin yêu cầu đăng kí (RRQ, Registration Request) tới Gatekeeper Trong giai đoạn 2, Gatekeeper đáp ứng với bản tin công nhận đăng kí (RCF, Registration Confirmation) hoặc bản tin từ chối đăng kí (RRJ, Registration Reject)
Điểm cuối hoặc Gatekeeper có thể hủy bỏ việc đăng kí và kết thúc sự liên hệ giữa hai thức thể Các hoạt động trong giai đoạn 3 và 4 trình bày sự hủy bỏ đăng kí từ điểm cuối với bản tin yêu cầu hủy đăng kí (URQ, Unregister Request) Gatekeeper có thể đáp ứng với bản tin công nhận hủy đăng kí (UCF, Unregister Confirm) hoặc bản
Hình 7 Hoạt động phát hiện Gatekeeper
GRQ GCF/GRJ
1
2 Gatekeeper Điểm cuối
Trang 13tin từ chối hủy đăng kí (URJ, Unregister Reject) Như trong giai đoạn 5 và 6, Gatekeeper bắt đầu tiến trình hủy bỏ đăng kí với bản tin URQ và điểm cuối đáp ứng lại với bản tin UCF
Hoạt động thiết lập kênh media
Hình 4.9 trình bày các hoạt động thiết lập kênh media Kênh điều khiển H.245 được thiết lập giữa Gateway A và Gateway B Gateway A sử dụng H.245 để đưa ra khả năng của nó bằng cách gửi bản tin Terminal Capability Set đến Gateway B Các tiến trình như sau:
Bước 1: Gateway A trao đổi khả năng của nó với Gateway B bằng cách gửi bản tin Terminal Capbility Set H.245
Bước 2: Gateway B công nhận khả năng của A bằng các gửi bản tin công nhận Terminal Capability Set Acknowledge
Bước 3: Gateway B trao đổi khả năng của nó với Gateway A bằng cách gửi bản tin TerminalCapabilitySet
Bước 4: Gateway A công nhận khả năng của Gateway B bằng cách gửi trả lại bản tin TerminalCapabilitySetAcknowledge
Bước 5: Gateway A mở kênh media với Gateway B bằng cách gửi bản tin OpenLogicalChannel và địa chỉ truyền tải của kênh RTCP (nếu luồng media được quản lý bởi RTCP)
Hình 8 Tiến trình đăng kí
RRQ RCF/RRJ
Điểm cuối
Gatekeeper
URQ UCF/URJ URQ UCF
Trang 14Bước 6: Gateway B công nhận sự thiết lập kênh logic của Gateway A bằng cách gửi bản tin OpenLogicalChannelAcknowledge, bản tin này gồm:
Địa chỉ truyền tải RTP được phân phối bởi Gateway B (địa chỉ này sẽ được sử dụng để truyền luồng media RTP)
Địa chỉ RTCP nhận được từ Gateway A
Bước 7: Gateway B mở kênh media với Gateway A bằng cách gửi bản tin OpenLogicalChannel bao gồm địa chỉ truyền tải của kênh RTCP
Bước 8: để hồn thành việc thiết lập thông tin media hai chiều, Gateway A công nhận việc thiết lập kênh logic của Gateway B bằng cách gửi bản tin công nhận OpenLogicalChannelAcknowledge, bản tin này bao gồm:
Địa chỉ truyền tải RTP được phân phối bởi Gateway A
Địa chỉ RTCP nhận được từ Gateway B
Hoạt động thay đổi băng thông
Các điểm cuối (hoặc Gateway) cũng có thể yêu cầu thay đổi băng thông Gatekeeper phải quản lý các yêu cầu thay đổi băng thông này (tăng hoặc giảm) Tiến trình trao đổi giữa các bản tin được trình bày trong hình 4.10 Các tiến trình như sau:
Trang 15Bước 1: Gateway khởi tạo gửi bản tin yêu cầu băng thông BRQ đến Gatekeeper
để yêu cầu băng thông mong muốn
Bước 2: Gatekeeper đáp ứng yêu cầu băng thông với bản tin BCF
Bước 3: một kênh logic được thiết lập giữa hai Gateway với băng thông được chỉ định
Bước 4: một bản tin BRQ được gửi đến Gatekeeper để yêu cầu thay đổi băng thông của kết nối (giả sử Gateway này không thỏa mãn băng thông đã chỉ định)
Bước 5: Gatekeeper đáp ứng gateway với bản tin BCF để xác nhận băng thông mới
Bước 6: kênh logic được thiết lập lại với băng thông mới
Thiết lập cuộc gọi Gatekeeper nội vùng
Hình 10 Hoạt động thay đổi băng thông
Trang 16 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
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: Gateway 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
Hình 11 Thiết lập cuộc gọi Gatekeeper nội vùng
4
8 Gateway A
Trang 17 Bước 7: Gateway B gửi cho Gatekeeper B bản tin ARQ, yêu cầu cho 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 9: Gateway B thiết lập một cuộc gọi đến đầu cuối B
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
Ngắt kết nối giữa hai đầu cuối H.323 liên vùng
Bước 1: đầu cuối B gác máy
Bước 2: Gateway B gửi bản tin DRQ đến Gatekeeper B để yêu cầu ngắt kết nối giữa A và B
Hình 13 Ngắt kết nối Gatekeeper liên vùng
Trang 18 Bước 3: Gatekeeper B gửi lại bản tin DCF công nhận bản tin DRQ
Bước 4: Gateway B gửi bản tin giải phóng kết nối Q.931 đến Gateway A
Bước 5: Gateway A gửi bản tin DRQ đến Gatekeeper A để yêu cầu ngắt kết nối giữa A và B
Bước 6: Gatekeeper A gửi lại bản tin DCF
Bước 7: Gateway A gửi bản tin ngắt kết nối đến A
1.6.Một số bản tin RAS H.225
Phát hiện Gatekeeper : GRQ (yêu cầu), GCF (công nhận), GRJ (từ chối)
Đăng kí đầu cuối/Gateway : RRQ (yêu cầu đăng kí), RCF (công nhận đăng kí), RRJ (từ chối đăng kí)
Hủy đăng kí đầu cuối/Gateway : URQ (yêu cầu hủy đăng kí), UCF (công nhận hủy đăng kí), URJ (từ chối hủy đăng kí)
Thay đổi băng thông : BRQ (yêu cầu thay đổi băng thông), BCF (chấp nhận thay đổi băng thông), BRJ (từ chối thay đổi băng thông)
Yêu cầu định vị : LRQ (yêu cầu định vị), LCF (chấp nhận định vị), LRJ (từ chối định vị)
Công nhận cuộc gọi : ARQ (yêu cầu công nhận), ACF (chấp nhận công nhận), ARJ (từ chối công nhận)
Ngắt kết nối : DRQ (yêu cầu ngắt kết nối), DCF (công nhận ngắt kết nối), DRJ (từ chối ngắt kết nối)
Chờ xử lý : RIP (chờ xử lý)
Truy vấn trạng thái : IRQ (yêu cầu thông tin), IRR (đáp ứng yêu cầu thông tin), IACK (công nhận yêu cầu thông tin), INAK (phủ nhận yêu cầu thông tin)
1.7.Một số bản tin báo hiệu H.225
Setup: thông báo yêu cầu thiết lập cuộc gọi từ đầu cuối và mang thông tin về địa chỉ cũng như tên miền của thuê bao chủ gọi
Call proceeding: cho biết đầu cuối đích đã nhận được yêu cầu và quá trình thiết lập cuộc gọi đang được bắt đầu
Alerting: thông báo tín hiệu chuông đang được gởi đến đầu cuối đích, chờ thuê bao nhấc máy
Connect: là bản tin được gởi từ đầu cuối đích ngay khi thuê bao nhấc máy Bản tin này còn thông báo địa chỉ đầu cuối (gồm giá trị số cổng và địa chỉ IP) để thiết lập kênh điều khiển H.245
Trang 19ReleaseComplete: thông báo giải tỏa cuộc gọi, giải phóng kết nối Bản tin này được gởi đi khi một trong hai đầu cuối tham gia cuộc hội thoại gác máy
1.8.Một số bản tin điều khiển cuộc gọi H.245
TerminalCapabilitySet: đây là bản tin đầu tiên được gởi qua kênh H.245 dùng
để xác lập khả năng đầu cuối (các chuẩn mã hóa mà đầu cuối có thể hỗ trợ) Bản tin TerminalCapabilitySetAck sẽ được đầu cuối gởi đi để xác nhận cho bản tin TerminalCapabilitySet mà nó nhận được
OpenLogicalChannel: dùng để thiết lập kênh thông tin giữa hai đầu cuối Bản tin này mang thông tin xác định số nhận dạng kênh thông tin sẽ được thiết lập và các thông số khác như loại dữ liệu được truyền tải, địa chỉ cổng UDP cho kênh RTP, …
CloseLogicalChannel: dùng để yêu cầu giải tỏa kênh truyền RTP giữa hai đầu cuối Đầu cuối còn lại sẽ báo nhận cho yêu cầu này bằng việc gởi bản tin CloseLogicalChannelAck
1.9.Mô hình mạng cơ bản của H.323
II Giao thức khởi tạo phiên SIP
2.1.Tổng quan
Giao thức khởi tạo phiên (SIP, Session Initiation Protocol) là một giao thức điều khiển và đã được tiêu chuẩn hóa bởi IETF (RFC 2543) Nhiệm vụ của nó là thiết lập, hiệu chỉnh và xóa các phiên làm việc giữa các người dùng Các phiên làm việc cũng có thể là hội nghị đa phương tiện, cuộc gọi điện thoại điểm-điểm, … SIP được
Hình 14 Mô hình H.323 cơ bản thông qua Internet
VN: Việt Nam
HK: Hồng Kông
TL: Thái Lan
LAO: Lào
Trang 20sử dụng kết hợp với các chuẩn giao thức IETF khác như là SAP, SDP và MGCP (MEGACO) để cung cấp một lĩnh vực rộng hơn cho các dịch vụ VoIP Cấu trúc của SIP cũng tương tự với cấu trúc HTTP (giao thức client-server) Nó bao gồm các yêu cầu được gửi đến từ người sử dụng SIP client tới SIP server Server xử lý các yêu cầu
và đáp ứng đến các client Một thông điệp yêu cầu, cùng với các thông điệp đáp ứng tạo nên sự thực thi SIP
SIP là một công cụ hỗ trợ hấp dẫn đối với điện thoại IP vì các lý do sau :
Nó có thể hoạt động vô trạng thái hoặc có trạng thái Vì vậy, sự hoạt động vô trạng thái cung cấp sự mở rộng tốt do các server không phải duy trì thông tin về trạng thái cuộc gọi một khi sự thực hiện (transaction) đã được xử lý
Nó có thể sử dụng nhiều dạng hoặc cú pháp giao thức chuyển siêu văn bản HTTP (Hypertext Transfer Protocol), vì vậy, nó cung cấp một cách thuận lợi để hoạt động trên các trình duyệt
Bản tin SIP (nội dung bản tin) thì không rõ ràng, nó có thể là bất cứ cú pháp nào Vì vậy, nó có thể được mô tả theo nhiều cách Chẳng hạn, nó có thể được
mô tả với sự mở rộng thư Internet đa mục đích MIME (Multipurpose Internet Mail Extension) hoặc ngôn ngữ đánh dấu mở rộng XML (Extensible Markup Language)
Nó nhận dạng một người dùng với bộ định vị tài nguyên đồng nhất URL (Uniform Resource Locator), vì vậy, nó cung cấp cho người dùng khả năng khởi tạo cuộc gọi bằng cách nhấp vào một liên kết trên trang web
o Nói chung, SIP hỗ trợ các hoạt động chính sau :
Định vị trí của người dùng
Định media cho phiên làm việc
Định sự sẵn sàng của người dùng để tham gia vào một phiên làm việc
Thiết lập cuộc gọi, chuyển cuộc gọi và kết thúc
2.2.Cấu trúc của SIP
Một khía cạnh khác biệt của SIP đối với các giao thức xử lý cuộc gọi IP khác là
nó không sử dụng bộ điều khiển Gateway Nó không dùng khái niệm Gateway/bộ điều khiển Gateway nhưng nó dựa vào mô hình khách/chủ (client/server)
Server : là một chương trình ứng dụng chấp nhận các bản tin yêu cầu để phục
vụ các yêu cầu này và gửi trả các đáp ứng cho các yêu cầu đó Server là Proxy, Redirect, UAS hoặc Registrar
Proxy server : là một chương trình trung gian, hoạt động như là một server và một client cho mục đích tạo các yêu cầu thay mặt cho các client khác Các yêu cầu được phục vụ bên trong hoặc truyền chúng đến server khác Một Proxy có thể dịch và nếu cần thiết, có thể tạo lại bản tin yêu cầu SIP trước khi chuyển chúng đến server
Trang 21khác hoặc một UA Trong trường hợp này, trường Via trong bản tin đáp ứng, yêu cầu chỉ ra các Proxy trung gian tham gia vào tiến trình xử lý yêu cầu
Redirect server : là một server chấp nhận một yêu cầu SIP, ánh xạ địa chỉ trong yêu cầu thành một địa chỉ mới và trả lại địa chỉ này trở về client Không giống như Proxy Server, nó không khởi tạo một yêu cầu SIP và không chuyển các yêu cầu đến các Server khác Không giống như Server đại diện người dùng UAS, nó không chấp nhận cuộc gọi
Registrar : là một server chấp nhận yêu cầu REGISTER Một Registrar được xếp đặt với một Proxy hoặc một server gửi lại và có thể đưa ra các dịch vụ định vị Registrar được dùng để đăng kí các đối tượng SIP trong miền SIP và cập nhật vị trí hiện tại của chúng Một miền SIP thì tương tự với một vùng H.323
UA (User Agent) : là một ứng dụng chứa cả UAC (User Agent Client) và UAS
UAC (User Agent Client): đây là phần người sử dụng được dùng để khởi tạo một yêu cầu SIP tới server SIP hoặc UAS
UAS (User Agent Server) : là một ứng dụng server giao tiếp với người dùng khi yêu cầu SIP được nhận và trả lại một đáp ứng đại diện cho người dùng
Hình 4.20 trình bày hai thành phần chính của SIP : User Agent và SIP server User Agent là một điểm cuối giao tiếp với người dùng và hoạt động đại diện cho người dùng User Agent bao gồm hai thành phần : một giao thức client được biết như là UAC
và một giao thức server được biết như là UAS UAC khởi tạo cuộc gọi và UAS trả lời cuộc gọi Do User Agent chứa cả UAC và UAS nên SIP có thể hoạt động ngang hàng khi sử dụng mô hình client/server
Server SIP có hai loại : Proxy server và Redirect server Proxy server nhận một yêu cầu từ client và quyết định server kế tiếp mà yêu cầu sẽ đi đến Proxy này có thể gửi yêu cầu đến một server khác, một Redirect server hoặc UAS Đáp ứng sẽ được truyền cùng đường với yêu cầu nhưng theo chiều ngược lại Proxy server hoạt động như là client và server Redirect server sẽ không chuyển yêu cầu nhưng sẽ chỉ định client tiếp xúc trực tiếp với server kế tiếp, đáp ứng gửi lại client chứa địa chỉ của server kế tiếp Nó không hoạt động được như là một client, nó không chấp nhận cuộc gọi
Trang 222.3.Tổng quan về hoạt động của SIP
Địa chỉ SIP
Địa chỉ của SIP còn được gọi là bộ định vị tài nguyên chung URL (Universal Resource Locator), tồn tại dưới dạng user@host Phần user trong phần địa chỉ có thể là tên người sử dụng hoặc số điện thoại Phần host có thể là tên miền hoặc địa chỉ mạng
Ví dụ địa chỉ SIP :
sip:ciscopress@cisco.com
sip:4085262222@171.171.171.1
Định vị server SIP:
Hình 16 Redirect Server
Redirect server
Registrar
Request
Return
Bộ đăng kí (registrar)
Hình 15 Proxy Server
Trang 23Khi client muốn gửi một yêu cầu, client gửi nó đến một proxy server SIP đã được cấu hình hoặc gửi yêu cầu đến địa chỉ IP và số cổng tương ứng với URL SIP Gửi yêu cầu trực tiếp đến proxy server thì dễ dàng nếu ứng dụng cuối đã biết proxy server Gửi yêu cầu theo cách thứ hai thì phức tạp hơn Client phải cố gắng tiếp xúc với server ở số cổng được liệt kê trong bộ định vị tài nguyên đồng nhất URL SIP Nếu
số hiệu cổng không có trong URL SIP thì client sử dụng số cổng 5060 nếu URL SIP chỉ định một giao thức (UDP hoặc TCP) thì client tiếp xúc với server sử dụng giao thức đó Nếu không có giao thức nào được chỉ định hoặc nếu client không hỗ trợ UDP nhưng có hỗ trợ TCP thì nó cố gắng dùng TCP Client có gắng tìm một hoặc nhiều địa chỉ server SIP bằng cách truy vấn DNS (Domain Name System) Tiến trình như sau:
Nếu phần host của URL SIP là địa chỉ IP, client tiếp xúc với server ở địa chỉ cho trước Ngược lại nó xử lý bước kế tiếp
Client truy vấn server DNS cho địa chỉ phần host của URL SIP Nếu server DNS không trả về địa chỉ của URL SIP, client sẽ ngừng vì nó không thể định vị được server
Sự giao dịch SIP (SIP Transaction)
Khi phần host của URL SIP đã được giải quyết, client gửi một hoặc nhiều yêu cầu SIP đến server và nhận được một hoặc nhiều đáp ứng từ server Các yêu cầu cùng với các đáp ứng liên hệ với nhau trong hoạt động này tạo thành sự giao dịch SIP Tất
cả các đáp ứng chứa cùng các giá trị trong các trường Call-ID, Cseq, To và From Điều này cho phép các đáp ứng so khớp với các yêu cầu
Nếu TCP được sử dụng, các đáp ứng và yêu cầu trong một sự giao dịch đơn lẻ được mang trên cùng một kết nối TCP Nhiều yêu cầu SIP từ một client đến một server
có thể sử dụng cùng kết nối TCP hoặc có thể sử dụng một kết nối mới cho mỗi yêu cầu
Nếu client gửi yêu cầu sử dụng UDP, đáp ứng được gửi đến địa chỉ được định nghĩa trong trường tiêu đề của yêu cầu
Lời mời SIP (SIP Invitation)
Một lời mời SIP thành công bao gồm hai bản tin: bản tin INVITE và theo sau là bản tin ACK Bản tin INVITE yêu cầu người bị gọi tham gia vào một hội nghị đặc biệt hoặc thiết lập một cuộc đối thoại hai người Sau khi người bị gọi đồng ý tham gia vào cuộc gọi, người gọi xác nhận rằng nó đã nhận được đáp ứng bằng cách gửi bản tin ACK
Định vị người dùng
Người bị gọi có thể di chuyển giữa nhiều hệ thống đầu cuối theo thời gian Các
vị trí này có thể đăng kí động với server SIP Một server vị trí có thể trả về nhiều vị trí
Trang 24bởi vì người dùng đăng nhập ở nhiều trạm một cách đồng thời hoặc server vị trí có thông tin không chính xác Server SIP kết hợp các kết quả để cung cấp một danh sách các vị trí hoặc không có vị trí nào
Hoạt động nhận danh sách các vị trí thay đổi tùy thuộc vào server SIP Một Redirect server trả về một danh sách hồn chỉnh các vị trí và cho phép các client định vị người dùng chính xác Một Proxy server cũng cố gắng định địa chỉ cho đến khi cuộc gọi thành công hoặc người bị gọi từ chối cuộc gọi
Thay đổi một phiên đang tồn tại
Trong một số trường hợp, người ta mong muốn thay đổi các thông số của một phiên đang tồn tại Điều này được thực hiện bằng cách phát lại bản tin INVITE, sử dụng cùng Call-ID, nhưng nội dung mới hoặc các trường tiêu đều mang thông tin mới Chẳng hạn, hai đối tác đang trò chuyện và muốn thêm vào một người thứ ba Một trong hai mời người thứ ba với địa chỉ multicast mới và đồng thời gửi bản tin INVITE đến đối tác thứ hai với sự mô tả phiên multicast mới, ngoại trừ số nhận dạng cuộc gọi
là cũ
2.4.Các bản tin SIP
Có hai loại bản tin SIP : bản tin yêu cầu được khởi tạo từ client và bản tin đáp ứng được trả lại từ server Mỗi bản tin chứa một tiêu đề mô tả chi tiết về sự truyền thông
SIP có thể sử dụng UDP Khi được gửi trên UDP hoặc TCP, nhiều sự giao dịch SIP có thể được mang trên một kết nối TCP đơn lẻ hoặc gói dữ liệu UDP Gói dữ liệu UDP (bao gồm tất cả các tiêu đề) thì không vượt quá đơn vị truyền dẫn lớn nhất MTU (Maximum Transmission Unit) nếu MTU được định nghĩa, hoặc không quá 1500 byte nếu MTU không được định nghĩa
Một bản tin SIP cơ bản bao gồm: dòng bắt đầu (start-line), một hoặc nhiều trường tiêu đề, một dòng trống (CRLF) dùng để kết thúc các trường tiêu đề và một nội dung bản tin tùy chọn
Bản tin chung = Dòng bắt đầu
Tiêu đề bản tin CRLF
[nội dung bản tin]
Tiêu đề bản tin:
Trang 25Tiêu đề bản tin dùng để chỉ ra người gọi, người bị gọi, đường định tuyến và loại bản tin của cuộc gọi Có 4 nhóm tiêu đề bản tin như sau:
Tiêu đề chung: áp dụng cho các yêu cầu và các đáp ứng
Tiêu đề thực thể: định nghĩa thông tin về loại bản tin và chiều dài
Tiêu đề yêu cầu: cho phép client thêm vào các thông tin yêu cầu
Tiêu đề đáp ứng: cho phép server thêm vào các thông tin đáp ứng
Các nhóm tiêu đề này được liệt kê trong bảng 4.1
Bảng 1 Tiêu đề SIP Tiêu đề chung Tiêu đề thực thể Tiêu đề yêu cầu Tiêu đề đáp ứng Accept Content-Encoding Authorization Allow
Accept-Encoding Content-Length Contact Proxy-Authenticate Accept-Language Content-Type Hide Retry-After
Trang 26nhất lời mời hoặc sự đăng kí của client
Cseq Trong một cuộc gọi, Cseq tăng lên khi một yêu cầu mới được gửi
đi và bắt đầu ở một giá trị ngẫu nhiên Tuy nhiên, đối với yêu cầu ACK và Cancel thì Cseq không tăng
To Có mặt trong tất cả các yêu cầu và đáp ứng để chỉ ra nơi nhận yêu
cầu
From Có mặt trong tất cả yêu cầu và đáp ứng chứa tên và địa chỉ của nơi
khởi tạo yêu cầu
Via Ghi lại đường đi của yêu cầu để cho phép các server SIP trung gian
chuyển các câu trả lời trở lại cùng đường đi
Encryption Chỉ định nội dung và một số tiêu đề bản tin đã được mã hóa như
thế nào
Content-Length Chỉ ra kích thước của nội dung bản tin (tính bằng octet)
Content-Type Chỉ ra loại media của nội dung bản tin (văn bản/html, …)
Expires Nhận dạng ngày và thời gian khi bản tin hết hạn
Accept Chỉ ra loại media nào được chấp nhận trong bản tin đáp ứng
Subject Cho thông tin về bản chất của cuộc gọi
Bản tin yêu cầu
Các yêu cầu cũng có thể được xem như các phương pháp (method) cho phép User Agent và server mạng định vị, mời và quản lý các cuộc gọi Bản tin yêu cầu SIP
có dạng sau:
Yêu cầu = Dòng yêu cầu (Request-line)
Tiêu đề chung/tiêu đề yêu cầu/tiêu đề thực thể
CRLF [Nội dung bản tin]
Trang 27Dòng yêu cầu bắt đầu với mã phương pháp, bộ nhận dạng tài nguyên đồng nhất yêu cầu, phiên bản giao thức SIP và kết thúc với CRLF Các thành phần được phân cách bởi kí tự SP
Dòng yêu cầu = Method SP Request-URI SP SIP-Version CRLF
Có 6 loại bản tin yêu cầu SIP: INVITE, ACK, OPTIONS, BYE, CANCEL và REGISTER
INVITE
Bản tin INVITE chỉ ra người dùng hoặc dịch vụ đang được mời tham dự một phiên làm việc Nội dung bản tin chứa sự mô tả phiên mà người bị gọi được mời Đối với cuộc gọi hai người, người gọi chỉ ra loại media mà nó có thể nhận Một đáp ứng thành công phải chứa trong nội dung bản tin của nó loại media nào mà người bị gọi mong muốn nhận Với bản tin này, người dùng có thể nhận biết được khả năng của người dùng khác và mở ra một phiên hội thoại với số bản tin giới hạn
REGISTER
Trang 28Bản tin này được sử dụng bởi client để đăng kí thông tin vị trí của nó với server SIP
[nội dung bản tin]
Dòng trạng thái bao gồm phiên bản của giao thức, mã trạng thái (số), lý do và CRLF Các thành phần được cách nhau bằng hai kí tự SP
Dòng trạng thái = SIP-version SP Status-Code SP Reason-Phrase CRLF
Mã trạng thái có 3 chữ số chỉ ra kết quả của việc đáp ứng yêu cầu Lý do (Reason-Phrase) là sự mô tả ngắn gọn về mã trạng thái
Chữ số đầu tiên của mã trạng thái định nghĩa lớp đáp ứng SIP phiên bản 2.0 định nghĩa 6 giá trị cho lớp đáp ứng
1xx: thông tin – các yêu cầu được nhận, xử lý các yêu cầu
2xx: thành công – hoạt động được nhận thành công và được chấp nhận
3xx: đổi hướng (redirection) – cần thêm một số hoạt động để hồn thành yêu cầu
4xx: lỗi client – yêu cầu bị sai lỗi cú pháp hoặc không thỏa mãn ở server
5xx: lỗi server – server không thỏa mãn một yêu cầu đúng
6xx: lỗi tồn cầu – yêu cầu không thể thỏa mãn ở bất kì server nào
Một số mã trạng thái được định nghĩa trong SIP phiên bản 2.0 được trình bày trong bảng 4.3
Bảng 3 Các đáp ứng của SIP Lớp đáp ứng Mã trạng thái Giải thích
Thông tin 100 Đang cố gắng
181 Cuộc gọi được chuyển
Trang 29182 Được xếp hàng đợi
Đổi hướng 300 Nhiều chọn lựa
301 Được di chuyển thường xuyên
302 Được di chuyển tạm thời
380 Dịch vụ thay đổi Lỗi client 400 Yêu cầu lỗi
407 Yêu cầu nhận thực proxy
408 Yêu cầu timeout
410 Tiếp tục (gone)
411 Yêu cầu chiều dài
413 Thực thể yêu cầu quá lớn
414 URL yêu cầu quá lớn
415 Không hỗ trợ loại media
481 Cuộc gọi hoặc sự trao đổi không tồn tại
482 Vòng lặp được phát hiện
Trang 30483 Quá nhiều hop
2.5.Hoạt động chính của SIP
Hoạt động của Proxy server:
Hoạt động của Proxy server được trình bày như hình 4.21 Client SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi Từng bước được mô tả như sau:
Bước 1: UserA (userA@yahoo.com) gửi bản tin INVITE cho UserB ở miền hotmail.com, bản tin này đến Proxy server SIP của miền hotmail.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 hotmail.com)
Bước 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị (Location server) để quyết định vị trí hiện tại của UserB
Bước 3: Server định vị trả lại vị trí hiện tại của UserB (giả sử là userB@work)
Bước 4: Proxy server gửi bản tin INVITE tới userB@work Proxy Server thêm địa chỉ của nó trong một trường của bản tin INVITE
Trang 31 Bước 5: UAS của UserB đáp ứng cho server Proxy với bản tin 200 OK
Bước 6: Proxy Server gửi đáp ứng 200 OK trở về userA@yahoo.com
Bước 7: userA@yahoo.com gửi bản tin ACK cho UserB thông qua Proxy server
Bước 8: Proxy Server chuyển bản tin ACK cho userB@work
Bước 9: 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
Bước 10: Sau khi quá trình truyền dẫn hồ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
Hoạt động của Redirect server:
Hoạt động của Redirect server được trình bày như hình 4.22 Các bước cụ thể được trình bày như sau:
Bước 1: Redirect server nhận được yêu cầu INVITE từ người gọi (yêu cầu này
có thể đi từ một Proxy server khác)
Bước 2: Redirect server truy vấn server định vị địa chỉ của B
Bước 3: Server định vị trả lại địa chỉ của B cho Redirect server
Bước 4: 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
Bước 5: 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
Luồng RTP/RTCP Hotmail.com
userB@hotmail.com
Trang 32 Bước 6: 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) Người bị gọi B đáp ứng với chỉ thị thành công (200 OK), và người gọi đáp trả bản tin ACK xác nhận Cuộc gọi được thiết lập
2.6.Liên mạng giữa SIP và SS7
Cuộc gọi cơ bản:
Hình 4.23 trình bày một cuộc gọi cơ bản xuất phát từ thực thể SIP và được gửi đến người bị gọi bên phía mạng PSTN truyền thống
Bước 1: khi người dùng SIP muốn bắt đầu một phiên hội thoại với người dùng PSTN, SIP sẽ phát bản tin yêu cầu INVITE Bản tin này tương tự như bản tin SETUP ISDN Gateway bắt đầu xử lý các tài nguyên dành riêng cho cuộc gọi Các tài nguyên này bao gồm cổng RTP/UDP bên phía IP và các khe E1/T1 bên phía PSTN
Bước 2: bản tin INVITE được xác nhận bởi Gateway với bản tin SIP chứa mã trạng thái 100 Bản tin này cũng đã xác nhận là Gateway đã đồng ý điều khiển cuộc gọi
Bước 3: bản tin INVITE được ánh xạ thành bản tin IAM ISUP và được gửi đến PSTN Và kết nối audio được thực hiện
Bước 4: PSTN đáp ứng với bản tin ACM ISUP để thông báo rằng bản tin IAM
đã được nhận thành công
Bước 5: bản tin ACM chứa một trường được gọi là mã trạng thái người bị gọi
và được ánh xạ đến đáp ứng SIP tạm thời Đáp ứng tạm thời là 180 cho thuê
Redirect server
Trang 33bao rỗi và 183 cho không chỉ định Đáp ứng tạm thời này được Gateway gửi đến SIP Và Gateway thực hiện kết nối audio
Bước 6: xác nhận đáp ứng tạm thời ACK (PRACK, Provisional Response ACK) được gửi trả lại Gateway từ SIP
Bước 7: mã 200 được gửi trả lại SIP Đây là một ACK
Bước 8: bản tin xử lý cuộc gọi (CPG, Call Proceeding Message) được gửi trở
về từ PSTN với các mã chỉ ra trạng thái của cuộc gọi
Bước 9: thông tin trong bản tin CPG được đặt trong thân của đáp ứng SIP 18x
và được Gateway gửi đến SIP Mã sự kiện ISUP được ánh xạ thành mã trạng thái SIP như sau:
Mã sự kiện ISUP Mã trạng thái SIP
2: tiến hành 183: tiến hành cuộc gọi
3: thông tin inband 183: tiến hành cuộc gọi
4: chuyển cuộc gọi, đường dây bận 181: cuộc gọi đang được chuyển
5: chuyển cuộc gọi, không trả lời 181: cuộc gọi đang được chuyển
6: chuyển cuộc gọi, vô điều kiện 181: cuộc gọi đang được chuyển
Trang 34 Bước 10 và 11: đáp ứng tạm thời được trả về và được xác nhận
Bước 12: người bị gọi trả lời cuộc gọi, PSTN gửi đến Gateway bản tin ANM Gateway thực hiện kết nối audio hai chiều
Bước 13 và 14: cuộc gọi hồn thành bên phía IP của kết nối
Cuộc gọi thất bại bên ISUP:
Hình 4.24 trình bày tiến trình mà cuộc gọi không thể hồn thành bên phía mạng PSTN
Bước 1: SIP khởi tạo cuộc gọi với bản tin INVITE
Bước 2: Gateway công nhận bản tin INVITE
Bước 3: Gateway ánh xạ bản tin INVITE thành bản tin IAM và được gửi đến mạng báo hiệu số 7
Bước 4: tuy nhiên, cuộc gọi không thể hồn thành vì một lý do nào đó như người bị gọi không trả lời, nghẽn mạch, … Vì vậy, PSTN gửi bản tin giải phóng cuộc gọi REL trở về Gateway
Audio PRACK
200
CPG 18x
PRACK
200
ANM Audio
200 Audio ACK
Hình 19 Thiết lập cuộc gọi cơ bản giữa SIP và PSTN
Trang 35 Bước 5: Gateway trả lời với bản tin RLC và giải phóng mạch
Bước 6: lý do cuộc gọi thất bại được mã hóa trong trường mã nguyên nhân trong bản tin REL thông tin này được ánh xạ thành bản tin lỗi SIP với mã 4xx
và được gửi về bên phía người dùng SIP Việc ánh xạ mã nguyên nhân từ báo hiệu số 7 sang mã trạng thái SIP được định nghĩa trong các tiêu chuẩn SIP Một
số mã thường dùng như sau:
Mã nguyên nhân ISUP Mã trạng thái SIP
17: người dùng bận 486: bận
18: người dùng không đáp ứng 480: không sẵn có
28: địa chỉ không hồn thành 484: địa chỉ không hồn thành
34: mạch không có sẵn 503: dịch vụ không có sẵn
63: dịch vụ/tùy chọn không có sẵn 503: dịch vụ không có sẵn
Bước 7: SIP công nhận bản tin mã trạng thái với bản tin ACK
Trang 36 Bước 1: cuộc gọi được khởi đầu từ mạng PSTN, bản tin IAM được gửi đến Gateway Gateway thực hiện kết nối audio đến PSTN
Bước 2: dựa vào thông tin mà nó nhận được trong bước 1, Gateway gửi bản tin INVITE đến SIP 1
Bước 3: SIP 1 trả lại bản tin 3xx thông báo rằng người bị gọi ở một vị trí khác Thông tin này được mã hóa trong trường Contact của bản tin SIP
Bước 4: Gateway gửi lại PSTN bản tin xử lý cuộc gọi CPG thông báo rằng cuộc gọi đã được chuyển
Bước 5: Gateway công nhận bản tin 3xx
Bước 6: dựa vào thông tin nhận được trong bước 3, Gateway gửi bản tin INVITE đến SIP 2
SIP 1
INVITE 3xx
IAM Audio
CPG ACK
Hình 21 Định hướng cuộc gọi
SIP 2
INVITE 18x Audio PRACK
200
ACM
200 Nhấc máy
ACK
ANM Audio Audio
Trang 37 Bước 7: khi SIP 2 nhận được thông tin địa chỉ đầy đủ, nó trả lại đáp ứng tạm thời là 18x Gateway thực hiện kết nối audio đến SIP
Bước 8: dựa vào mã trạng thái 18x, Gateway gửi bản tin ACM đến PSTN
Bước 9: bản tin PRACK được gửi từ Gateway để xác nhận việc nhận đáp ứng tạm thời
Bước 10: SIP 2 đáp trả bản tin thành công với mã trạng thái 200
Bước 11: SIP 2 trả lời cuộc gọi
Bước 12: SIP 2 gửi bản tin 200 đến Gateway để thông báo rằng cuộc gọi đã được trả lời và audio hai chiều được vượt ngưỡng (cut through) bởi Gateway
Bước 13: Gateway gửi bản tin ANM đến PSTN và tạo kết nối audio hai chiều
Bước 14: Gateway xác nhận bản tin đã được SIP 2 gửi đi trong bước 12
Kết thúc cuộc gọi:
Hình 4.26 trình bày các hoạt động khi mà người gọi hoặc người bị gọi gác máy Trong hình này, bên phía PSTN gác máy trước, nên PSTN khởi tạo hoạt động ngắt kết nối Bản tin REL được gửi từ PSTN đến Gateway để ngắt kết nối Gateway đáp trả bản tin công nhận ngắt kết nối RLC, đồng thời tạo ra bản tin BYE gửi đến SIP để thông báo ngắt kết nối SIP xác nhận với bản tin 200 Gateway giải phóng tài nguyên bên phía PSTN (kênh DS0) và tài nguyên bên phía SIP (địa chỉ IP, số hiệu cổng)
2.7.Mô hình liên mạng giữa SIP và H.323
Giải phóng tài nguyên IP
200
Trang 38Internet
VN
Proxy đa giao thức
Proxy SIP SIP H.323
VN
Gateway SIP
Proxy SIP T1/E1
Internet
Trang 39Hình 25 Kết hợp SIP và H.323 không dùng kết nối
VN
Proxy SIP Internet
Trang 40CHƯƠNG IV TỔNG QUAN ASTERISK
I Asterisk là gì ?
Asterisk là một phần mềm mã nguồn mở có tính năng tương đương như một tổng đài PBX Với Asterisk , một chiếc máy tính PC chạy hệ điều hành Linux có thể trở thành một hệ thống điện thoại lớn Asterisk đem đến cho người sử dụng tất cả các tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX thông thường không có được Đó là sự kết hợp giữa chuyển mạch Voip
và chuyển mạch TDM , đó là khả năng mở rộng đáp ứng cho nhu cầu từng lĩnh vực …
Asterisk là hệ thống chuyển mạch mềm , là phần mềm mã nguồn mở chạy bằng ngôn ngữ C chạy trên hệ điều hành Linux ,thực hiện tất cả các tính năng của tổng đài PBX và hơn thế nữa Asterisk ra đời vào năm 1999 bởi một chàng trai mang tên Mark Spencer , Anh ta viết phần mềm này ban đầu không ngoài mục đích hỗ trợ cho công ty của mình trong việc liên lạc , đàm thoại hỗ trợ cộng đồng người sử dụng và phát triển Linux Asterisk là một PBX và nhiều hơn thế , Asterisk là phần mềm mang tính cách mạng , tin cậy , mã nguồn mở và miễn phí , biến một PC rẻ tiền chạy hệ điều hành Linux thành một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk là một công cụ
mã nguồn mở cho các ứng dụng thoại và là một Server sử lý cuộc gọi đầy đủ chức năng Asterisk là nền tảng tích hợp điện thoại vi tính hoá mã nguồn mở Nhiều hệ thống asterisk đã được cài đặt thành công trên khắp thế giới Công nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay asterisk đang trên đà phát triển nhanh và được rất nhiều doanh nghiệp ứng dụng cho công ty của mình , đây là xu thế tất yếu của người sử dụng điện thoại ,
vì các công ty đều có mạng máy tính và đều có nhu cầu liên lạc với nhau trong công việc giữa các phòng ban hoặc chi nhánh và cần một chi phí thấp , thậm chí không phải tốn chi phí khi thực hiện các cuộc gọi trên mạng nội bộ
Không gói gọn thông tin liên lạc trong công ty , mà các ứng dụng giao tiếp với các mạng PSTN , mạng Voip ( như ifone ) còn cho phép ta gọi đến bất kỳ một số điện thoại nào
Ngoài ra việc tích hợp các hệ thống CRM và hệ thống Outlook làm cho khả năng ứng dụng của Asterisk linh hoạt hơn , đáp ứng nhu cầu cần thiết cho người sử dụng điện thoại
Asterisk ban đầu được phát triển trên GNU/Linux nền x86 ( Intel) , nhưng giờ đây nó cũng có thể biên dịch và chạy trên nền OpenBSD , FreeBSD , Mac OS và Microsoft Windown
II Kiến Trúc Asterisk
2.1.Kiến Trúc Chung Của Asterisk