Đây là một trong những giao thức của VoIP được sử dụngrộng rãi và SIP cũng chính là giao thức báo hiệu sử dụng trong chương trình ứng dụngAsterisk được trình bày ở các chương tiếp theo..
Trang 1Mục lục
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Lới mở đầu
Trong những năm gần đây, chúng ta đã nghe nói nhiều về VoIP như là một công nghệmang tính cách mạng trong việc truyền tín hiệu thoại qua môi trường Internet Cùngvới sự bùng nổ Internet, VoIP cũng đã có những bước phát triển dài, ngày càng hoànthiện về công nghệ, chất lượng ổn định, tích hợp được truyền thông đa phương tiện vàrất cạnh tranh về giá cước Nhiều hệ thống VoIP đã ra đời và được triển khai rộngkhắp Vì vậy việc nghiên cứu và nắm bắt các công nghệ về VoIP đang rất được quantâm Trong quá trình tìm hiểu về VoIP, nhóm 1-Đ07VTA1 đã quyết định chọn đề tài
“Tìm hiểu hệ thống VoIP trên Asterisk”, nội dung được trình bày trong 5 chương:Chương I: Tìm hiểu khái quát về công nghệ truyền thoại trên nền internet (VoIP) Qua
đó chúng ta có thể tổng quát hình dung về VoIP là gì, cách thức họat động của nó rasao và ưu nhược điểm của công nghệ này
Chương II: Tìm hiểu một trong những giao thức báo hiệu quan trọng trong VoIP làgiao thức báo hiệu SIP Đây là một trong những giao thức của VoIP được sử dụngrộng rãi và SIP cũng chính là giao thức báo hiệu sử dụng trong chương trình ứng dụngAsterisk được trình bày ở các chương tiếp theo
Chương III: Đề xuất 3 giải pháp VoIP, so sánh các giải pháp và quyết định giải pháptriển khai ở chương IV
Chương IV : Triển khai VoIP trên hệ thống Asterisk, các bước thiết lập phần cứng, càiđặt phần mềm, thực hiện cuộc gọi, bắt và phân tích các gói tin
Chương V: Kết luận, hạn chế, hướng phát triển của đề tài
Trang 2Trong quá trình làm đề tại, dù đã cố gắng song do kiến thức hạn chế nên không thểtránh khỏi những thiếu sót Chúng em rất mong nhận được sự góp ý, hướng dẫn giúp
đỡ của Thầy Cô, bạn bè
Chúng em xin chân thành cảm ơn
Tp Hồ Chí Minh, tháng 6 năm 2011
Nhóm thực hiện
Nhóm 1 –Đ07VTA1
CHƯƠNG I: GIỚI THIỆU VỀ MẠNG VOIP
Internet Voice, được biết như thoại qua giao thức (Voice Over IP), là một công nghệcho phép tạo cuộc gọi dùng kết nối băng thông rộng thay vì dùng đường dây điệnthoại tương tự (analog) Nhiều dịch vụ dùng Voice over IP có thể chỉ cho phép bạngọi người khác dùng cùng loại dịch vụ, tuy nhiên cũng có những dịch vụ cho phép gọidùng số điện thoại như số nội bộ, đường dài, di động, quốc tế Những dịch vụ chỉ làmviệc qua máy tính, hay loại điện thoại qua IP (IP phone) đặc biệt Vài dịch vụ chophép dùng điện thoại truyền thống qua một bộ điều hợp (adaptor)
1.1 Giới thiệu về VoIP
1.1.1 VoIP là gì
Voice over Internet Protocol (VoIP) là một 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ộttrong những công nghệ viễn thông đang được quan tâm nhất hiện nay không chỉ đốivới nhà khai thác, các nhà sản xuất mà còn cả với người sử dụng dịch vụ
VoIP cho phép thực hiện cuộc gọi dùng máy tính qua mạng dữ liệu như Internet.VoIP chuyển đổi tín hiệu thoại từ điện thoại tương tự analog vào tín hiệu số (digital)trước khi truyền qua Internet, sau đó chuyển đổi ngược lại ở đầu nhận Khi tạo mộtcuộc gọi VoIP dùng điện thoại với một bộ điều hợp, ta sẽ nghe âm mời gọi, quay sốsau tiến trình này VoIP cũng cho phép tạo một cuộc gọi trực tiếp từ máy tính dùngloại điện thoại tương ứng hay dùng microphone
VoIP cho phép tạo cuộc gọi đường dài qua mạng dữ liệu IP có sẵn thay vì phảiđược truyền qua mạng PSTN (Public Switched Telephone Network) Ngày nay nhiềucông ty đã thực hiện giải pháp VoIP của họ để giảm chi phí cho những cuộc gọiđường dài giữa nhiều chi nhánh xa nhau
Trước đây, khi dựa vào giao tiếp thoại trên mạng PSTN Trong suốt cuộc gọigiữa hai địa điểm, đường kết nối được dành riêng cho bên thực hiện cuộc gọi Không
có thông tin khác có thể truyền qua đường truyền này, cho dù vẫn còn thừa lượngbăng thông sẵn dùng Sau đó với sự xuất hiện của mạng giao tiếp dữ liệu, nhiều công
Trang 3ty đã đầu tư cho mạng giao tiếp dữ liệu để chia sẽ thông tin với nhau, trong khi đóthoại và fax vẫn tiếp tục sử dụng mạng PSTN.
Nhưng ngày nay điều này không còn là vấn đề nữa, với sự phát triển nhanhchóng và sử dụng rộng rãi của IP, chúng ta đã tiến rất xa trong khả năng giảm chi phítrong việc hỗ trợ truyền thoại và dữ liệu Giải pháp tích hợp thoại vào mạng dữ liệu,
và cùng hoạt động bên cạnh hệ thống PBX hiện tại hay những thiết bị điện thoại khác,
để đơn giản cho việc mở rộng khả năng thoại cho những vị trí ở xa Lưu lượng thoạithực chất sẽ được mang tự do (free) bên trên mạng dữ liệu thông qua cơ sở hạ tầng vàthiết bị phần cứng có sẵn
Mặc dù những khái niệm về VoIP là đơn giản, nhưng để thực hiên và ứng dụngVoIP là phức tạp Để gởi voice, thông tin phải được tách biệt thành những gói(packet) giống như dữ liệu Gói là những phần thông tin được chia nhỏ để dễ dàng choviệc gởi gói, cũng có thể dùng kĩ thuật nén gói để tiết kiệm băng thông, thông quanhững tiến trình codec (compressor/de-compressor)
Có rất nhiều loại giao thức dùng thực hiện dịch vụ VoIP, những giao thức báohiệu VoIP phổ biến SIP và H323 Cả SIP và H323 đều cho phép người dùng thực hiệncùng công việc: thiết lập giao tiếp cho những ứng dụng đa phương tiện (multimedia)như audio, video, những giao tiếp dữ liệu khác Nhưng H323 chủ yếu được thiết kếcho những dịch vụ đa phương tiện, trong khi SIP thì phù hợp cho những dịch vụVoIP
RTP (Real-time Transport Protocol) định nghĩa định dạng chuẩn của gói tin choviệc phân phối audio và video qua Internet
1.1.2 Phương thức hoạt động
Khi nói vào ống nghe hay microphone, giọng nói sẽ tạo ra tín hiệu điện từ, đó lànhững tín hiệu analog Tín hiệu analog được chuyển sang tín hiệu số dùng thuật toánđặc biệt để chuyển đổi Những thiết bị khác nhau có cách chuyển đổi khác nhau nhưVoIP phone hay softphone, nếu dùng điện thoại analog thông thường thì cần mộtTelephony Adapter (TA) Sau đó giọng nói được số hóa sẽ được đóng vào gói tin vàgởi trên mạng IP
Trong suốt tiến trình một giao thức như SIP hay H323 sẽ được dùng để điểukhiển (control) cuộc gọi như là thiết lập, quay số, ngắt kết nối… và RTP thì đượcdùng cho tính năng đảm bảo độ tin cậy và duy trì chất lượng dịch vụ trong quá trìnhtruyền
1.2 Ưu điểm của VoIP
1.2.1 Đa dạng tính năng – Hiệu quả kinh tế cao
Tất cả tính năng, ứng dụng thông tin liên lạc mới hiện đã có mặt trên thế giớiviễn thông hội tụ đều hỗ trợ nền tảng mạng IP Tất cả tính năng này có sẵn mà khôngđòi hỏi thêm bất kỳ chi phí đầu tư nào bởi vì chúng hoạt động trên nền tảng mạng IP
và được "vận chuyển" trên mạng máy tính y như các ứng dụng máy tính thôngthường
1.2.2 Tiết kiệm chi phí đầu tư VoIP
Trang 4Hệ thống IP Telephony và VoIP để hỗ trợ tốt hơn cho công việc kinh doanh Nếudoanh nghiệp đã trang bị thiết bị kỹ thuật số (như tổng đài PBX), thì có thể tiết kiệmđược đáng kể chi phí đầu tư bằng cách tái sử dụng hầu hết các thiết bị này với hệthống VoIP mới.
1.2.3 Dễ bảo trì
Việc cài đặt và quản lý hệ thống IP Telephony và VoIP trở nên dễ dàng hơn Với
hệ thống IP Telephony thì mạng VoIP sẽ tự động tự điều chỉnh để tương thích với vịtrí mới của người dùng Nhà quản lý hệ thống có thể từ bất kỳ máy tính nối mạng nàotiến hành kiểm tra, thiết lập mục đích sử dụng, tài khoản và nhiều dữ liệu khác chongười dùng Với hệ thống viễn thông nền IP, công việc quản lý và bảo trì mạng điệnthoại trở nên kinh tế và hiệu quả hơn
1.2.4 Linh hoạt và cơ động
IP Softphone là giải pháp phần mềm gọi điện thoại Internet dành cho các máytính sử dụng hệ điều hành Windows Phần mềm này cho phép người dùng dễ dàngtruy xuất đến các dịch vụ viễn thông thời gian thực và những tính năng cải tiến khácvới cách thức sử dụng thật đơn giản: chỉ cần nhấn chuột để quay số cuộc gọi Trongmột mạng viễn thông nền IP, nhân viên có thể tự do đi lại bất kỳ đâu trong văn phòngcông ty, nối máy tính xách tay vào mạng, bắt đầu làm việc và nhận/thực hiện các cuộcgọi
1.2.5 Nhiều tính năng hấp dẫn
VoIP với những ưu điểm như giảm chi phí liên lạc,khả năng tích hợp dễ dàng các
hệ thống dữ liệu, thoại và video, cơ sở dữ liệu có khả năng kiểm soát tập trung, tính năng thoại di động cải tiến giúp tiết kiệm thời gian và chi phí Với giao thức SIP (Session Initiation Protocol) cho phép nhiều ứng dụng, thiết bị phần cứng mới dễ dàngtriển khai giải pháp VoIP trên mạng LAN, WAN hoặc Internet Hầu hết các modem
và router ADSL hiện nay đều hỗ trợ VoIP và giao thức SIP, các doanh nghiệp vừa và nhỏ có thể nhanh chóng triển khai mô hình điện thoại Internet thông qua đường truyềninternet với các dịch vụ VoIP miễn phí như ifone, IPTel, DrayTel, MediaRing
1.2.6 Khả năng quản lý toàn diện
Bạn có khả năng kiểm soát chi tiết đến từng bit dữ liệu đang được lưu chuyểntrên mạng IP Telephony (LAN) hay mạng VoIP (WAN) Trong các mạng mạng viễnthông nền IP, chất lượng thoại có thể đạt đến 99,99% Nghĩa là trong môi trườngmạng hội tụ nền IP, khả năng phát hiện sớm các triệu chứng và thay đổi những cài đặttrước khi có bất kỳ trục trặc nào xảy ra đã được cải tiến đáng kể
1.2.7 Công tác thời gian thực
Người dùng có thể bổ sung giải pháp điện thoại kèm hình ảnh Video TelephonySolution bằng các phần mềm ứng dụng video trên nền IP, qua đó cho phép một máytính để bàn hay máy tính xách tay giả lập một chiếc điện thoại IP trong văn phòng.Chất lượng hình ảnh và âm thanh khi sử dụng trên mạng nội bộ thường tốt hơn khi sửdụng qua kết nối Internet do hiếm khi gặp phải tình trạng trễ tiếng hay khựng hình
Trang 51.2.8 Sử dụng băng thông hợp lý
Lưu lượng truyền dữ liệu máy tính (không phải là dữ liệu thoại) trên hệ thốngmạng điện thoại thường chỉ chiếm khoảng 30% băng thông của toàn hệ thống Ưuđiểm của VoIP là dữ liệu được đóng lại thành gói và các gói dữ liệu này được truyềnthông qua kết nối T-1 trên một phần nhỏ băng thông của kênh DSO
1.2.9 Giảm chi phí điện thoại đường dài
Với một hệ thống VoIP hoàn chỉnh, doanh nghiệp thậm chí còn có thể triển khaigiải pháp chuyển tiếp cuộc gọi thông minh, cho phép "hạn chế" các cuộc gọi đườngdài trực tiếp từ một khu vực (tỉnh, thành phố hay quốc gia) sang một khu vực khác (cả
2 khu vực này phải có văn phòng của doanh nghiệp này) bằng cách chuyển dữ liệuthoại thông qua mạng VoIP nội bộ rồi sau đó chuyển tiếp sang hệ thống PSTN
1.3 Nhược điểm của VoIP
Chất lượng dịch vụ: do các mạng truyền số liệu vốn dĩ không được thiết kế để
truyền thoại thời gian thực cho nên việc trễ truyền hay việc mất mát các gói tin hoàntoàn có thể xảy ra và sẽ gây ra chất lượng dịch vụ thấp
Bảo mật: do mạng Internet là một mạng hỗn hợp và rộng khắp bao gồm rất
nhiều máy tính cùng sử dụng cho nên việc bảo mật các thông tin cá nhân là rất khó.1.4 Các chuẩn thoại dùng trong VoIP
Các chuẩn thoại dùng trong VoIP: SIP, H323, IAX2, MGCP
Chuẩn SIP (Session Initiation Protocol ): chuẩn của IETF, thông dụng nhất hiệnnay vì ít tốn thiết bị phần cứng và có thể mở rộng hệ thống dễ dàng Đây là giao thứcchi tiết xác định những chỉ thị và những đáp ứng, để thiết lập hay kết thúc cuộc gọi.SIP cũng mô tả chi tiết về các tính năng như bảo mật (sercurity), sự ủy nhiệm (proxy),vận chuyển (transport) SIP định nghĩa ra cơ chế báo hiệu cuộc gọi end-to end giữacác thiết bị SIP là giao thức text-base có nhiều tính năng tương tự HTTP, như là cùng
mô hình yêu cầu (request) và đáp ứng (response)
Chuẩn H323: Đây là giao thức chuẩn của ITU Giao thức này ban đầu được pháttriển cho hệ thống đa phương tiện(multimedia) phương tiện trong môi trường khônghướng kết nối (connectionless), như LAN H323 là chuẩn định nghĩa tất cả tiến trìnhliên quan đến vấn đề đồng bộ cho thoại, video, và truyền dữ liệu H323 định nghĩa tínhiệu cuộc gọi end-to-end
Chuẩn MGCP (Media Gateway Control Protocol - Giao thức điều khiển cổngtruyền thông) nó là một giao thức trong VoIP được đưa ra theo đề xuất của Cisco vàTelcordia để định nghĩa sự liên lạc giữa những phần điều khiển cuộc gọi MediaGateway MGCP là giao thức điều khiển, cho phép trung tâm điều khiển theo dõinhững sự kiện trong cuộc gọi IP và những Gateway và chỉ đạo chúng để gửi thông tintới những địa chỉ cụ thể
1.5 Các tổ chức phát triển VoIP
Nhà cung cấp dịch vụ VoIP lớn : Skype, Yahoo, Google…
Các thiết bị phần cứng VoIP :
Trang 6- Tổng đài IP, VoIP Gateway : Cisco, Avaya, Alcatel, Nortel, Digium
- Card giao tiếp PCI : Digium, Openvox, Sangoma…
- Điện thoại IP : Alcatel, Nortel, Welltech…
Các phần mềm ứng dụng tổng đài VoIP PBX : CCM của Cisco, Asterisk trên Linux, Avaya
Trên hệ điều hành WINDOWS: chủ yếu sử dụng giao thức SIP, phần mềm này có thể
dễ dàng cài đặt và sử dụng Tuy nhiên phải mua License tùy theo cấu hình doanhnghiệp cần ứng dụng
- 3CX : của hãng 3CX www.3cx.com
- Brekeke : của hãng phần mềm BREKEKE www.brekeke.com
- Axon : của hãng NCH www.nch.com.au/pbx
Trên hệ điều hành LINUX:
- CCM ( Cisco Call Manager ) : chạy trên hệ hành Linux, có bản miễn phí cho ngườidùng Tuy nhiên, bản miễn phí còn nhiều tính năng chưa Update, muốn sử dụng cáctính năng Update thì phải mua thêm License
- Asterisk : chạy trên hệ điều hành LiNux, hoàn toàn miễn phí cho người dùng Phầnnày sẽ được trình bày rõ hơn ở phần sau
Trang 7CHƯƠNG II: TỔNG QUAN VỀ GIAO THỨC SIP
2.1 Tổng quan về giao thức khởi tạo phiên SIP
SIP (Session Initiation Protocol) là giao thức điều khiển báo hiệu thuộc lớp ứngdụng trong mô hình OSI (hình II.1), được phát triển như là một chuuẩn mở RFC 2543của IEFT Khác với H.323, nó dựa trên nguồn gốc Web (HTTP) và có thiết kế kiểumodule, đơn giản và dễ dàng mở rộng với các ứng dụng thoại SIP SIP là một giaothức báo hiệu để thiết lập, duy trì và kết thúc các phiên đa phương tiện như : thoại IP,hội nghị và các ứng dụng tương tự khác liên quan đến việc truyền thông tin đa phươngtiện
SIP sử dụng các bản tin mời (INVITE) để thiết lập các phiên và để mang cácthô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 Có thể sử dụngnăm chức năng của SIP để thiết lập và kết thúc truyền dẫn là : định vị thuê bao, khảnăng thuê bao, độ sẵn sàng của thuê bao, thiết lập cuộc gọi và xử lý cuộc gọi
SIP được sử 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ấutrúc của SIP tương tự với cấu trúc của HTTP (giao thức client-server) Nó bao gồmcác yêu cầu được gởi đến từ người sử dụng SIP client đến SIP server Server xử lý cácyêu cầu và đáp ứng đến 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
Trang 8Hình 2-1: Vị trí của SIP trong mô hình OSI.
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
- SIP là một giao thức theo thiết kế mở do đó nó có thể được mở rộng để phát triểnthêm các chức năng mới Sự linh hoạt của các bản tin SIP cũng cho phép đáp ứng cácdịch vụ thoại tiên tiến bao gồm cả các dịch vụ di động
2.2 Cấu trúc của SIP
2.2.1 Các thành phần của SIP
Hình 2-2: Các thành phần của SIP
Hệ thống SIP gồm 5 thành phần chính :
- User Agent (UA) : đóng vai trò của thiết bị đầu cuối trong báo hiệu SIP , có thể là
một máy điện thoại SIP, có thể là máy tính chạy phần mềm đầu cuối SIP UA baogồm hai loại User Agent Client (UAC) và User Agent Server (UAS) UAC khởi tạocuộc gọi và UAS trả lời cuộc gọi Điều này cho phép thực hiện cuộc gọi ngang hàngthông qua mô hình client-server
- Máy chủ ủy quyền (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
Trang 9Các yêu cầu được phục vụ bên trong hoặc truyền chúng đến các server khác Mộtproxy có thể dịch và nếu cần thiết có thể tạo lại các bản tin yêu cầu SIP trước khichuyển chúng đến server khác hoặc một UA Trong trường hợp này trường Via trongbả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êucầu
- Máy chủ định vị (Location Server) : là phần mềm định vị thuê bao, cung cấp thông
tin về những vị trí có thể của thuê bao bị gọi cho các phần mềm máy chủ ủy quyền vàmáy chủ chuyển đổi địa chỉ
- Máy chủ chuyển đổi địa chỉ (Redirect Server) : là phần mềm nhận yêu cầu SIP và
chuyển đổi địa chỉ SIP sang một số địa chỉ khác và gửi lại cho đầu cuối Không giốngnhư máy chủ ủy quyền, máy chủ chuyển đổi địa chỉ không bao giờ hoạt động như mộtđầu cuối, tức là không gửi đi bất cứ yêu cầu nào Máy chủ chuyển đổi địa chỉ cũngkhông nhận hoặc huỷ cuộc gọi
- Máy chủ đăng ký (Register Server) : là phần mềm nhận các yêu cầu đăng ký Trong
nhiều trường hợp máy chủ đăng ký đảm nhiệm luôn một số chức năng an ninh nhưxác nhận người sử dụng Thông thường máy chủ đăng ký được cài đặt cùng với máychủ ủy quyền và máy chủ hay địa chỉ hoặc cung cấp dịch vụ định vị thuê bao Mỗi lầnđầu cuối được bật lên (ví dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng
ký với máy chủ Nếu đầu cuối cần thông báo cho máy chủ về địa điểm của mình thìbản tin REGISTER cũng được gửi đi Nói chung các đầu cuối đều thực hiện việc đăng
ký lại một cách định kỳ
2.2.2 Hoạt động của các bản tin SIP
SIP là một giao thức dựa trên ký tự văn bản với cú pháp bản in và các trườngmào đầu đồng nhất với giao thức truyền siêu văn bản HTTP (Hypper Text TransferProtocol) Các bản tin của SIP truyền trên cùng một kết nối TCP hoặc bó dữ liệuUDP
2.2.1.1 Địa chỉ của SIP
Địa chỉ của SIP còn được gọi là bộ định vị tài nguyên chung URL (UniversalResource 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: ptithcm@ptithcm.edu.cnSIP: 401160020@203.162.17.8
2.2.1.2 Định vị server SIP
Khi client muốn gửi một yêu cầu, client gửi yêu cầu đó đến một proxy server SIP
đã được cấu hình hoặc gửi đến địa chỉ IP và số cổng tương ứng với URL SIP Gửi yêucầ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
Trang 10yê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ệucổng không có trong URL SIP thì client sử dụng số cổng 5060 Nếu URL SIP chỉ địnhmộ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ỉ chotrướ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 DNSkhông trả về địa chỉ của URL SIP, client sẽ ngưng vì nó không thể định vị đượcserver
2.2.1.3 Đị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í bở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ộtdanh 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 SIP server MộtRedirect server trả về một danh sách hoà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 khicuộc gọi thành công hoặc người bị gọi từ chối cuộc gọi
2.2.1.4 Thay đổi 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 đề mang thông tin mới Chẳng hạn, haiđối tác đang trò chuyện và muốn thêm và một người thứ ba Một trong hai mời ngườithứ ba với địa chỉ multicast mới và đồng thời gửi bản tin INVITE đến đối tác thứ haivới sự mô tả phiên mulicast mới, ngoại trừ số nhận dạng cũ
2.2.1.5 Các bản tin của SIP
Có hai loại bản tin SIP:
- Bản tin yêu cầu được khởi tạo từ client
- 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 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ệuUDP (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 bytenếu MTU không được định nghĩa
Trang 11Một bản tin SIP cơ bản bao gồm: dòng bắt đầu (start-line), một hoặc nhiềutrườ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ộidung bản tin tùy chọn
Bản tin chung = Dòng bắt đầu
Tiêu đề bản tinCRLF
[ nội dung bản tin]
2.2.1.6 Tiêu đề bản tin
Tiêu đề bản tin dùng để chỉ ra người gọi, người bị gọi, đường định tuyến và loạibả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
Trang 12Tiêu đề Giải thích
Call-ID So khớp các yêu cầu với các đáp ứng tương ứng, nhận dạng duy
nhấ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ảng 2-2: Giải thích một số tiêu đề chính của SIP
2.2.1.7 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 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 bắt đầu với mã phương pháp, bộ nhận dạng tài nguyên đồng nhấtyê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âncá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
Trang 13Dò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 :
Một số mã trạng thái được định nghĩa trong SIP được trình bày trong bảng sau:
301 Được di chuyển thường xuyên
302 Được di chuyển tạm thời
Trang 14405 Bản tin không cho phép
407 Yêu cầu nhận thực proxy
413 Thực thể 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
482 Vòng lặp được phát hiện
484 Địa chỉ không hoàn thành
505 Phiên bản SIP không hỗ trợ
604 Không tồn tại ở mọi nơi
Bảng 2-5: Một số mã trạng thái được định nghĩa trong SIP.
2.2.1.9 Thiết lập và hủy cuộc gọi SIP
Trước tiên ta tìm hiểu hoạt động của máy chủ ủy quyền và máy chủ chuyển đổi :
a. Hoạt động của máy chủ ủy quyền (Proxy Server)
Trang 15Hình 2-2: Hoạt động Proxy Server
Client SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mờitham gia cuộc gọi
Các bước như sau:
- Bước1: userA@yahoo.comgửi bản tin INVITE cho userB ở miền hotmail.com bản tinnày đến proxy server SIP của miền hotmail.com (bản tin INVITE có thể đi từ Proxyserver SIP của miền yahoo.com và được Proxy này chuyển đến Proxy server của miềnhotmail.com)
- Bước 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị (Locationserver) để 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@hotmail.com)
- Bước 4: Proxy server gửi bản tin INVITE tới userB@hotmail.com Proxyserver thêmđịa chỉ của nó trong một trường của bản tin INVITE
- 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@hostmail.com
- 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 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
b. Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server):
Trang 16Hình 2-3: Hoạt động của Redirect Server.
Các bước 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ầuINVITE 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
- 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ởiRedirect 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.Ngoài ra SIP còn cócác mô hình hoạt động liên mạng với SS7 (đến PSTN) hoặc là liên mạng với chồnggiao thức H.323
Tổng quát lại trong mạng SIP quá trình thiết lập và hủy một phiên kết nối:
Hình 2-4: Thiết lập và hủy cuộc gọi SIP.
- Bước 1: Đăng ký, khởi tạo và định vị đầu cuối
- Bước 2: Xác định phương tiện của cuộc gọi, tức là mô tả phiên mà đầu cuốiđược mời tham gia
Trang 17- Bước 3: Xác định mong muốn của đầu cuối bị gọi, trả lời hay không Phía bịgọi phải gửi bản tin xác nhận chấp thuận cuộc gọi hay từ chối.
- Bước 4: Thiết lập cuộc gọi
- Bước 5: Thay đổi hay điều khiển cuộc gọi (ví dụ như chuyển cuộc gọi)
- Bước 6: Hủy cuộc gọi
2.2.1.10 Liên vận giữa SIP và SS7
a. Thiết lập cuộc gọi cơ bản giữa SIP và PSTN
Hình 2-5: Thiết lập cuộc gọi cơ bản giữa SIP và PSTN.
- 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àybao 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ạngthá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 đếnPSTN 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ê bao 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
Trang 18- 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 (CPM, 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 CPM đượ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 SIPnhư 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
- 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 hoàn thành bên phía IP của kết nối
b. Định hướng cuộc gọi SIP
Hình 2-6: Định hướng cuộc gọi SIP.