CHƯƠNG 2 : XÂY DỰNG TỔNG ĐÀI NỘI BỘ ASTERISK
2.5. PHÂN TÍCH BẢN TIN SIP
Dùng tool Sngrep để bắt các bản tin, tool này cài trực tiếp trên CentOS thơng qua các gói cài đặt, có giao diện đồ họa trực quan.
Cách cài tham khảo theo link sau:
https://wikị4psạcom/display/KB/How+tơinstall+sngrep+on+your+VoipNow+server
2.5.1. QUÁ TRÌNH REGISTER
Khởi chạy Sngrep bằng lệnh #sngrep
Hình 2.11: Giao diện Sngrep
Tiến hành đăng ký một softphone với tổng đài Asterisk
Hình 2.12: Bản tin Register
Mở bản tin bằng cách nhấn Enter bản tin đó
Hình 2.13: Bên trong bản tin Register
192.168.100.4:49747 : là IP của user 201 có port 49747
SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 31 Quá trình đăng ký như sau:
- User gửi bản tin REGISTER lên server
- Server gửi lại bản tin 401 Unauthorized yêu cầu chứng thực, với kèm thuật toán MD5 và chuỗi ký tư ngẫu nhiên noncẹ
- User gửi lên lại bản tin REGISTER với chuỗi chứng thực nằm trong phần Authorization.
- Server kiểm tra và gửi về 200 OK để báo cho user biết đã đăng ký thành công.
2.5.2. THIẾT LẬP CUỘC GỌI
Thực hiện cuộc gọi từ 201 đến 202
SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 32 INV (192.168.100.4:8000) 401 Unauthorized ACK INV (192.168.100.4:8000) 100 trying INV (192.168.100.4:17276) 100 trying 180 ringing 180 ringing 200OK(192.168.100.4:56846) ACK 200OK(192.168.100.8:17414) ACK 8000 17414 17276 56846 BYE BYE 200 OK 200 OK RTP RTP
Q trình thiết lập và giải phóng cuộc gọi nội bộ (201 gọi 202) được mơ tả trong hình sau:
User 201 Asterisk User 202 192.168.100.4:49747 192.168.100.8:5060 192.168.100.4:62299
SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 33
1) User 201 gửi bản tin INVITE đến server yêu cầu thiết lập cuộc gọi đến 202, trong bản tin INVITE chứa phần SDP là các thông số địa chỉ ip, port, codecs,... mà 201 sử dụng trong quá trình truyền và nhận RTP
2) Server gửi lại bản tin 401 Unauthorized yêu cầu 201 chứng thực với thuật toán MD5 và chuỗi ký tự ngẫu nhiên noncẹ
3) 201 gửi bản tin ACK thông báo cho server biết là đã nhận được yêu cầu chứng thực từ server
4) 201 gửi lại bản tin INVITE với chuỗi chứng thực nằm trong phần Authorization
5) Server kiểm tra và xác định 201 đã chứng thực thành cơng, do đó server gửi bản tin 100 Trying để báo cho 201 chờ đợi trong khi server kết nối với 202
6) Server gửi bản tin INVITE đến 202. Chú ý phần SDP đã được server thay đổi với ip, port,codec,... của server. Với kết quả như thế này ta có thể suy ra rằng server sẽ tham gia vào quá trình truyền RTP giữa 201 và 202
7) 202 gửi 100 Trying báo cho server biết là đang xử lý
8) 202 gửi lại cho server tín hiệu hồi âm chuông 180 Ringing
9) Server chuyển tiếp tín hiệu hồi âm chng đến 201
10) Th bao 202 nhấc máy, gửi bản tin 200 OK chứa các thông số truyền nhận RTP trong phần SDP
11) Server gửi trả lại ACK thông báo cho 202 rằng server đã nhận được bản tin 200 OK
12) Server chuyển tiếp bản tin 200 OK đến 201. Cũng giống như trong bước (6) do server được cấu hình tham gia vào cả quá trình truyền thoại nên phần SDP đã được thay đổi thành ip, port, codecs,... của server
13) 1001 gửi bản tin ACK báo cho server biết mình đã nhận bản tin 200 OK Đến lúc này thì 201 và 202 đã thơng thoại với nhau, và server Asterisk làm
nhiệm vụ trung gian truyền tải tín hiệu thoại nàỵ
14) Sau khi kết thúc cuộc đàm thoại, thuê bao 202 cúp máy, gửi bản tin BYE đến server
15) Server gửi lại 200 OK cho phép 202 kết thúc phiên
16) Server gửi bản tin BYE cho 201 để báo phiên đã kết thúc
SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 34
CHƯƠNG 3: XÂY DỰNG CÁC DỊCH VỤ GIÁ TRỊ GIA TĂNG TRÊN NỀN ASTERISK