VoIP có thể sử dụngphần cứng hỗ trợ để thực hiện các cuộc gọi như số nội bộ, đường dài, di động hay quốc tế và có thể được sử dụng trong một môi trường PC hay loại điện thoại qua IP đặc
Trang 1KHOA VIỄN THÔNG II
Trang 3• Lời mở đầu
Dựa vào tốc độ phát triển nhanh chóng của Internet trong những năm qua cho thấyInternet gần như là cổng kết nối truyền thông chủ yếu trên toàn Thế Giới Điển hình sau 15năm Việt Nam kết nối với mạng Internet toàn cầu đã có hơn 27 triệu người sử dụng Internet.Với sự đa dạng về dịch vụ cũng như người dùng, các nhà cung cấp đã nghĩ ngay đến dịch vụtruyền thoại bằng thủ tục IP qua môi trường Internet Đó chính là dịch vụ Voice over IP(VoIP)
VoIP được xem là một công nghệ mang tính cách mạng trong việc truyền tín hiệu thoạiqua môi trường Internet, với những bước phát triển dài, ngày càng hoàn thiệ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à cạnh tranh về giá cước.Việc đảm bảo chất lượng của dịch vụ không còn là mối lo ngại của nhiều người khi các nhàkhai thác mạng muốn tận dụng lượng khách hàng khổng lồ bằng việc thực hiện những giảipháp mới có tính đột phá về công nghệ cũng như tài chính Những phần ứng dụng phục vụcho việc triển khai VoIP đã ra đời, đáp ứng điều kiện về kinh tế trong triển khai VoIP, ở đâyphải kể đến 3 hệ thống nổi bật là Asterisk, OpenSIP, FreeSwitch
Trong đó Asterisk không chỉ mang đến một tổng đài PBX (Private Branch Exchange) nhỏgọn, mà là một phần mềm mang tính cách mạng, tin cậy, mã nguồn mở và miễn phí Asteriskbiến một PC rẻ tiền thông thường chạy Linux thành một hệ thống điện thoại doanh nghiệpmạnh mẽ Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một server
xử lý cuộc gọi đầy đủ chức năng Asterisk là một nền tảng tích hợp điện thoại vi tính hoá kiếntrúc 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 Vì vậy trong báo cáo này nhóm em chọn tìmhiểu về VoIP trên hệ thống Asterisk Bố cục gồm 5 chương:
Chương 1: Giới thiệu về VoIP: Khái quát về công nghệ Voice over IP (VoIP), để chúng ta
có thể hình dung một cách tổng quát về VoIP: VoIP là gì? Cách thức hoạt động ra sao? Ưu nhược điểm của công nghệ này.
Chương 2: Tìm hiểu về giao thức SIP: Giới thiệu một cách tổng quát về một trong những giao thức báo hiệu quan trọng trong VoIP: SIP Đây là một trong những giao thức được sử dụng rộng rãi và đặc biệt SIP chính là giao thức báo hiệu sử dụng trong chương trình ứng dụng Asterisk được trình bày ở các chương tiếp theo.
Trang 4Chương 3: Phần mềm ứng dụng: Đề xuất 3 giải pháp VoIP, mục đích so sánh các giải pháp nhằm giải thích cho quyết định chọn triển khai giải pháp Asterisk
Chương 4: Triển khai hệ thống Asterisk: Trình bày các bước thiết lập, triển khai dịch vụ VoIP Cách thức bắt và phân trích gói tin bằng phần mềm Wireshark.
Chương 5: Tổng kết: Nhận xét về hệ thống Asterisk và những thành quả mà nó mang lại trong truyền thông ngày nay, qua đó cũng nêu những hạn chế còn tồn tại và hướng phát triển của đề tài
Với kiến thức còn hạn chế nên trong lúc hoàn thành bài báo cáo không thể tránh khỏinhững sai sót Chúng em rất mong nhận được sự góp ý, hướng dẫn giúp đỡ của thầy và cácbạn Chúng em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, Tháng 5, 2012
Nhóm thực hiện
Trang 5Chương 1: GIỚI THIỆU VỀ VOICE OVER IP
1.1 Giới thiệu về VoIP
VoIP là từ viết tắt của Voice over Internet Protocol Đây là một thuật ngữ dùng để chỉcách thức âm thanh được truyền đi như các gói tin IP thông qua internet VoIP có thể sử dụngphần cứng hỗ trợ để thực hiện các cuộc gọi như số nội bộ, đường dài, di động hay quốc tế và
có thể được sử dụng trong một môi trường PC hay loại điện thoại qua IP đặc biệt(IP phone).VoIP cho phép thực hiện cuộc gọi dùng máy tính qua mạng dữ liệu internet
VoIP chuyển đổi tín hiệu thoại từ điện thoại tương tự (analog) thành tín hiệu số (digital)trước khi truyền, sau đó chuyển đổi ngược lại ở đầu nhận Khi tạo một cuộc gọi VoIP dùngđiện thoại với một bộ điều hợp, chúng ta sẽ nghe âm thanh mời gọi, quay số sẽ diễn ra sautiế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ùng một loại điệnthoại tương ứng hoặc dùng microphone
VoIP cho phép tạo cuộc gọi đường dài qua mạng IP có sẵn thay vì phải được truyền quamạng PSTN (Public Switched Telephone Network) Ngày nay nhiều công ty đã thực hiện giảiphá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 khácnhau
1.2 Nguyên tắc hoạt động của VoIP
Cách đây nhiều năm chúng ta đã khám phá ra cách gửi tín hiệu đến một máy đích ở xabằng tín hiệu số bằng cách: trước khi gửi,chúng ta sẽ số hóa tín hiệu bằng ADC (Analog toDigital Converter-Thiết bị chuyển đổi tín hiệu tương tự sang tín hiệu số), sau đó truyền đi vàtại đầu nhận sẽ chuyển đổi ngược lại với DAC (Digital to Analog Converter - Thiết bị chuyểnđổi tín hiệu số sang tín hiệu tương tự) để sử dụng
VoIP cũng làm việc giống như vậy, số hóa âm thanh thành các gói dữ liệu,gửi dữ liệu đi
và chuyển đổi chúng lại thành dạng âm thanh tại đầu nhận Khi nói vào ống nghe haymicrophone, giọng nói sẽ tạo ra tín hiệu điện từ,đó là tín hiệu tương tự Tín hiệu tương tự sẽđược chuyển đổi sang tín hiệu số nhờ vào một số thuật toán đặc biệt để chuyển đổi Những tínhiệu khác nhau sẽ có cách chuyển đổi khác nhau như VoIP phone hay softphone, nếu dùng
Trang 6điện thoại analog thông thường thì cần một TA (Telephone Adapter), sau đó giọng nói được
số hóa sẽ được đóng thành gói tin và được gửi qua mạng IP
Định dạng số có thể được điều khiển tốt hơn:chúng ta có thể nén, định tuyến, chuyển đổi
nó sang định dạng mới và hơn nữa tín hiệu số thì ít nhiễu hơn tín hiệu analog
Mặc dù khái niệm về VoIP là đơn giản nhưng thực hiện và ứng dụng VoIP 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 cho việc gửi gói cũng như có thể dùng kỹthuật nén gói để tiết kiệm băng thông thông qua những tiến trình CODEC(COmpressor/DECompressor)
1.3 Lợi ích của VoIP
Công nghệ VoIP đem lại những lợi ích chủ yếu sau:
• Giảm chi phí: Một giá cước chung sẽ được thực hiện với mạng internet và do đó tiếtkiệm đáng kể các dịch vụ thoại và fax Sự chia sẽ chi phí thiết bị,kỹ năng của những người sửdụng và dữ liệu làm tăng cường hiệu quả sử dụng mạng
• Đơn giản hóa: Một cơ sở hạ tầng tích hợp hỗ trợ tất cả các hình thức thông tin chophép chuẩn hóa tốt hơn và giảm thiểu các thiết bị,có thể hỗ trợ tối ưu hóa băng tầng động
• Tính thống nhất: Việc sử dụng thống nhất giao thức IP cho tất cả các ứng dụng hứahẹn giảm bớt tính phức tạp và tăng cường tính mềm dẻo Các ứng dụng liên quan có thể đượcchia sẻ dễ dàng hơn(như dịch vụ danh bạ, an ninh mạng…)
• Nâng cao ứng dụng: Thoại và fax là các lợi ích ban đầu của VoIP, các lợi ích đượcmong đợi đó là các ứng dụng đa phương tiện và đa dịch vụ
1.4 Lợi ích của VoIP so với PSTN
Khi bạn dùng đường truyền PSTN, bạn phải trả phí thời gian sử dụng cho nhà cung cấpdịch vụ PSTN: sử dụng càng nhiều bạn phải trả càng nhiều Thêm vào đó bạn không thể nóivới nhiều người khác nhau tại cùng thời điểm
Với kỹ thuật VoIP, bạn có thể nói chuyện toàn thời gian với người mà bạn muốn (điều cầnthiết là những người khác cũng phải kết nối internet tại cùng thời điểm), cho đến khi nào bạn
Trang 7muốn (không phụ thuộc vào chi phí) và thêm vào đó, bạn có thể nói chuyện với nhiều ngườitại cùng một thời điểm.
Trước đây khi dựa vào giao tiếp thoại trên PSTN, trong suốt kết nối giữa hai điểm, đườngkết nối chỉ 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 mặc dù vẫn thừa lượng băng thông sẵn dùng
Nhưng ngày nay, điều đó đã không còn là vấn đề nữa, với sự phát triển nhanh chóng vàđược 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 độngbên cạnh với 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ại thực chất sẽ dược mang tự do(free) bên trên cơ sở hạ tầng và thiết bị phần cứng có sẵn
1.5 Nhược điểm của VoIP
Nhược điểm thứ nhất chính là chất lượng của dịch vụ Khi truyền thoại qua mạng số liệuthì có thể cho chất lượng thấp và không thể xác định trước được.Khả năng mất thông tin trênmạng là hoàn toàn có thể xảy ra.Và vì trước khi truyền gói tin bị nén lại để tiết kiệm đườngtruyền cũng làm cho chất lượng không cao,và thời gian xử lý lâu dài, gây trễ
Một nhược điểm nữa đó là tiếng vọng Vì thời gian xử lý lâu nên tiếng vọng ảnh hưởnglớn đến chất lượng cuộc gọi Vì vậy tiếng vọng là một vấn đề cần giải quyết
1.6 Một số chuẩn thoại dùng trong VoIP
- Chuẩn SIP (Session Initiation Protocol ): chuẩn của IETF, thông dụng nhất hiện nay 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úc chi tiết mà 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ả chitiế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ữa các thiết bị SIP là giao thức text-based mà 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át triển
cho hệ thống đa phương tiện(multimedia) phương tiện trong môi trường không hướng kết nối(connectionless), như LAN H323 là chuẩn định nghĩa tất cả tiến trình liên quan đến vấn đềđồng bộ cho thoại, video, và truyền dữ liệu H323 định nghĩa tín hiệu cuộc gọi end-to-end
Trang 8- Chuẩn IAX2 (Inter-Asterisk eXchange) là chuẩn riêng của Asterisk, IAX2 bây giờ cũng
là chuẩn của IETF
- Chuẩn MGCP ( Media Gateway Control Protocol – Giao thức điều khiển cổng truyề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 Media Gateway MGCP là giaothức điều khiển , cho phép trung tâm điều khiển theo dõi những sự kiện trong cuộc gọi IP vànhững Gateway và chỉ đạo chúng để gửi thông tin tới những địa chỉ cụ thể
1.7 Các phần mềm ứng dụng VoIP
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ơnthế nữa Asterisk ra đời vào năm 1999 bởi một chàng trai sinh năm 1977 tên là Mark Spencer
máy chủ SIP, là thành phần cốt lõi của bất kỳ giải pháp VoIP trên SIP server đa chức năng.OpenSIPS được phát triển lên từ OpenSER
- FreeSwitch là phần mềm có thể tạo một softswitch hỗ trợ trên 200 cuộc gọi đồng thời.
1.8 Các nhà cung cấp dịch vụ VoIP
Dịch vụ gọi thoại bằng máy tính thông qua: Skype, Yahoo, Google, MSN… Các dịch vụ
sử dụng phương thức VoIP tại Việt Nam 171 (VNPT), 177 (SPT), 178 (Viettel), 175(VISHIPEL)…
Trang 9Chương 2: TÌM HIỂU VỀ GIAO THỨC SIP
2.1 Giao thức SIP là gì?
SIP (session initiation protocol) là giao thức điều khiển thuộc lớp ứng dụng trong mô hìnhOSI, được thiết kế một cách đơn giản kiểu module, rất dễ dàng mở rộng thiết lập cũng nhưduy trì với các ứng dụng thoại, truyền thông đa phương tiện
SIP sử dụng các bản tin gọi là INVITE để thiết lập các phiên mang thông tin mô tả phiêntruyền dẫn Có thể sử dụng nă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
Để cung cấp được nhiều dịch vụ hơn cho VoIP, SIP được sử dụng kết hợp với các chuẩn giaothức IETF khác như là SAP, SDP và MGCP (MEGACO)
Cấu trúc của SIP tương tự với cấu trúc của HTTP (giao thức client-server): yêu cầu đượcgởi đến từ người sử dụng SIP từ client đến SIP server Server xử lý các yêu cầu và đáp ứngtrở lại client, tạo nên sự thực thi SIP 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
Hình 1: Vị trí của SIP trong mô hình OSI
Như vậy SIP là một giao thức theo thiết kế mở vì vậy nó có thể được mở rộng phát triểnthêm các chức năng mới về sau này Nhờ sự linh hoạt này SIP cho phép đáp ứng các dịch vụthoại tiên tiến hiện nay bao gồm cả các dịch vụ di động và quan trong hơn là dịch vụ VoIP
Trang 102.2 Mô hình các thành phần và các thức hoạt động của bản tin SIP
Mô hình và các thành phần:
Hình 2: Mô hình cấu trúc
User agent: có thể xem là thiết bị đầu cuối trong SIP Nó thể thể là máy điện thoại hay
máy tính sử dụng giao thức SIP Thiết bị đầu cuối ở phía người sử dụng có thể khởi tạo cuộcgọi, cho phép thực hiện cuộc gọi ngang hàng thông qua mô hình client-server
Proxy server : đóng vai trò như 1 server để yêu cầu những server thấp hơn những yêu cầu
từ phía client Một proxy 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 SIPtrước khi chuyển chúng đến server khác hoặc một UA bằng cách chỉ ra các yêu cầu đến cácserver trung gian tham gia vào tiến trình xử lí
Location Server: nhiệm vụ đị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 proxy server và redirect Server
Redirect Server: nhiệm vụ 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 như proxy server, redirect server không gửi ra bất cứ
1 yêu cầu nào, hay cũng không nhận hoặc huỷ cuộc gọi
Register Server: nhiệm vụ nhận các yêu cầu đăng ký đảm nhận chức năng an ninh trong
1 số trường hợp như xác nhận người sử dụng Mỗi lần đầu cuối được bật lên (ví dụ máy điệnthoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với server này Nếu đầu cuối cần thôngbá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 chungcác đầu cuối đều thực hiện việc đăng ký lại một cách định kỳ
Trang 11 Cách thức hoạt động của các văn bản 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ường mào đầuđồng nhất với giao thức truyền siêu văn bản HTTP (Hyper Text Transfer Protocol) Các bảntin của SIP truyền trên cùng một kết nối TCP hoặc bó dữ liệu UDP
2.2.1 Định dạng địa chỉ
Địa chỉ của SIP còn được gọi là bộ định vị nguồn đa năng 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ụ : SIP:
ptithcmorg@ptithcm.edu.vn, SIP: 408160111@192.168.1.2
2.2.2 Cách thức định vị server SIP và user:
Định vị server: Khi client muốn gửi một yêu cầu, có hai cách:
- Client gửi yêu cầu trực tiếp đó đến một proxy server SIP đã được cấu hình: dễ dàng
vì ứng dụng đầu cuối đã biết proxy server
- Client gửi đến địa chỉ IP và số cổngtương ứng với URL SIP: phức tạp hơnbởi vì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àinguyê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 đượcchỉ định hoặc nếu client không hỗ trợ UDP nhưng có hỗ trợ TCP thì nó cố gắngdùng TCP Client cố gắng tìm một hoặc nhiều địa chỉ server SIP bằng cách truyvấ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
Trang 12Hoạt động nhận danh sách các vị trí thay đổi tùy thuộc vào SIP server Redirect server sẽtrả về một danh sách hoàn chỉnh các vị trí và cho phép các client địnhvịngười dungchínhxác.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
2.2.3 Thay đổi một phiên đang tồn tại
Ví dụ: Hai đối tác đang trò chuyện và muốn thêm vào một người thứ ba 1 bản tin invitemới sẽ được phát sử dụng cùng Call-ID nhưng nội dung và các tiêu đề mang thông tin mới.Nghĩa là gửi đến 1 phiên multicast hoàn tàon mới, chỉ giữ lại số nhận dạng cũ
2.2.4 Bản tin trong SIP
Có hai loại bản tin SIP:
- Bản tin yêu cầu từ client (hướng lên)
- Bản tin đáp ứng từ server (hướng xuố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ệu UDP (bao gồm cảcác tiêu đề) thì không vượt quá đơn vị truyền dẫn lớn nhất MTU (Maximum TransmissionUnit) nếu MTU được định nghĩa, hoặc không quá 1500 byte nếu MTU không được địnhnghĩ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 tinCRLF[ nội dung bản tin]
Trang 13• 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
Tiêu đề chung Tiêu đề thực thể Tiêu đề yêu cầu Tiêu đề đáp ứng
Accept-Encoding Content-Length Contact Proxy-Authenticate
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
Trang 142.2.6 Bản tin yêu cầu:
Các yêu cầu cũng có thể xem như là các phương pháp để User và server định vị, mời vàquản lí cuộc gọi
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]
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ấ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
Bản tin Ý nghĩa
INVITE Khởi tạo một phiên
ACK Khẳng định rằng client đã nhận được bản tin đáp ứng cho bản tin INVITEBYE Yêu cầu kết thúc phiên
CANCEL Huỷ yêu cầu đang nằm trong hàng đợi
REGISTER Đầu cuối SIP đăng ký với registrar server
OPTIONS Sử dụng để xác định năng lực của server
INFO Sử dụng để tải các thông tin
2.2.7 Bản tin đáp ứng:
Đáp ứng = Dòng trạng thái
Tiêu đề chung/tiêu đề đáp ứng/tiêu đềCRLF
[nội dung bản tin]
Dòng trạng thái = SIP-version SP Status-Code SP Reason-Phrase CRLF
Trang 15Mã 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)
301 Được di chuyển thường xuyên
302 Được di chuyển tạm thời
407 Yêu cầu nhận thực proxy
Trang 16410 Tiếp tục (gone)
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
2.2.8 Thiết lập và hủy cuộc gọi SIP
Hoạt động của Proxy Server:
Trang 17Hình 3: Mô tả hoạt động của Proxy Server
Client SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời thamgia 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.combản tin này
đến proxy server SIP của miền hotmail.com (bản tin INVITE này cũng có thể đi từ 1proxy server của miền yahoo.com và được proxy này chuyển đến proxy sever củamiền Hotmail.com)
Bước 2: Proxy server của miền hotmail.com sẽ tham khảolocation server để định vị vị trí hiện
tại hiện tại của UserB
Bước 3: Location server sẽ trả lại vị trí hiện tại của UserB (giả sử là userB@hotmail.com) Bước 4:Sau khi xác định vị trí, 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(1 dạng hệ thống đầu cuối sử dụng bản tin SIP) của UserB đáp ứng cho proxy
server với bản tin 200OK
Bước 6: Proxy server cảu bên B Hotmail.com gửi đáp ứng 200OK(báo hiệu cho phép kết
nối, kết ni61 thành công) trở về userA@yahoo.com
Bước 7: UserA@yahoo.com gửi bản tin ACK (khẳng định bên phía A đã nhận được hồi
đáp từ bên B) cho UserB thông qua proxy server.(mũi tên trong hình sai???) 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
Hoạt động của Redirect server:
Trang 18Hình 4: Mô tả 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, cũng như proxy server
(Yêu cầu này có thể đi từ một proxy server khác)
Bước 2: Redirect server định vị vị trí của bên B ở location server.
Bước 3: Location server 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
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 (200OK), và ngườigọ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 (đếnPSTN) hoặc là liênmạng với chồng giao thức H.323
Tổng quát quá trình SIP thiết lập và hủy 1 phiên kết nối:
Trang 19Hình 5: Mô tả quá trình SIP thiết lập và hủy 1 phiên kết nối
Bước 1: Khởi tạo, mời, định vị thiết bị đầu cuối trong hệ thống mình quản lí.
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
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.9 SIP và SS7
Thiết lập cuộc gọi cơ bản giữa SIP và PSTN
Trang 20Hình 6: 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ạ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ê bao rỗi và 183 chokhông chỉ định Đáp ứng tạm thời này được Gateway gửi đến SIP Và Gateway thựchiệ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
Trang 21Bướ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 SIP nhưsau:
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.
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
Định hướng cuộc gọi SIP:
Hình 7: Định hướng cuộc gọi SIP
Trang 22Bướ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 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.
2.2.10 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: Các giao thức khác của IETF có thể xây dựng
để 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