sip

Như chúng ta đã biết, một máy chủ proxy có thể ở trạng thái không trạng thái hoặc trạng thái. Ở đây, trong chương này, chúng ta sẽ thảo luận thêm về máy chủ proxy và định tuyến SIP.

Máy chủ proxy không trạng thái

Một máy chủ proxy không trạng thái chỉ đơn giản là chuyển tiếp thông báo mà nó nhận được. Loại máy chủ này không lưu trữ bất kỳ thông tin nào của cuộc gọi hoặc giao dịch.

  • Các proxy không trạng thái quên yêu cầu SIP khi nó đã được chuyển tiếp.
  • Giao dịch sẽ nhanh chóng thông qua proxy không trạng thái.

Máy chủ proxy trạng thái

Một máy chủ proxy trạng thái theo dõi mọi yêu cầu và phản hồi mà nó nhận được. Nó có thể sử dụng thông tin được lưu trữ trong tương lai, nếu được yêu cầu. Nó có thể truyền lại yêu cầu nếu nó không nhận được phản hồi từ phía bên kia.

  • Các proxy trạng thái ghi nhớ yêu cầu sau khi nó đã được chuyển tiếp, vì vậy họ có thể sử dụng nó để định tuyến trước. Các proxy trạng thái duy trì trạng thái giao dịch . Giao dịch ngụ ý trạng thái giao dịch, không phải trạng thái cuộc gọi .
  • Giao dịch không nhanh bằng proxy trạng thái như không trạng thái.
  • Các proxy trạng thái có thể phân nhánh và truyền lại nếu được yêu cầu. (Ví dụ: ví dụ: cuộc gọi chuyển tiếp bận).

Via và Record-route

Ghi-Lộ trình

Tiêu đề Record-Route được chèn vào các yêu cầu bởi proxy muốn nằm trong đường dẫn của các yêu cầu tiếp theo cho cùng một call-id. Sau đó, nó được tác nhân người dùng sử dụng để định tuyến các yêu cầu tiếp theo.

Thông qua

Thông qua các tiêu đề được máy chủ chèn vào các yêu cầu để phát hiện các vòng lặp và để giúp các phản hồi tìm đường trở lại máy khách. Điều này rất hữu ích cho những câu trả lời chỉ đến đích.

  • UA tự tạo và thêm địa chỉ của chính mình vào trường tiêu đề Qua khi gửi yêu cầu.
  • Chuyển tiếp proxy yêu cầu thêm trường tiêu đề Qua chứa địa chỉ của chính nó vào đầu danh sách các trường tiêu đề Qua.
  • Một proxy hoặc UA tạo phản hồi cho một yêu cầu sẽ sao chép tất cả các trường tiêu đề Qua từ yêu cầu để đưa vào phản hồi, sau đó gửi phản hồi đến địa chỉ được chỉ định trong trường tiêu đề Qua trên cùng.
  • Một proxy nhận được phản hồi sẽ kiểm tra trường tiêu đề Via trên cùng và khớp với địa chỉ của chính nó. Nếu nó không khớp, phản hồi đã bị loại bỏ.
  • Sau đó, trường tiêu đề Qua trên cùng bị xóa và phản hồi được chuyển tiếp đến địa chỉ được chỉ định trong trường tiêu đề Qua tiếp theo.

Thông qua các trường tiêu đề chứa tên giao thức, số phiên bản và truyền tải (SIP / 2.0 / UDP, SIP / 2.0 / TCP, v.v.) và chứa số cổng và các tham số như đã nhận, rport, nhánh.

  • Thẻ đã nhận được thêm vào trường tiêu đề Qua nếu UA hoặc proxy nhận được yêu cầu từ một địa chỉ khác với địa chỉ được chỉ định trong trường tiêu đề Qua trên cùng.
  • Tham số nhánh được thêm vào các trường tiêu đề Via bởi UA và proxy, được tính như một hàm băm của Request-URI và số To, From, Call-ID và CSeq

SIP tới PSTN

SIP (Softphone) và PSTN (Điện thoại cũ) đều là các mạng khác nhau và nói các ngôn ngữ khác nhau. Vì vậy, chúng ta cần một phiên dịch (Gateway ở đây) để giao tiếp giữa hai mạng này.

Hãy để chúng tôi lấy một ví dụ để cho thấy cách điện thoại SIP thực hiện cuộc gọi đến PSTN thông qua cổng PSTN.

Trong ví dụ này,

SIP đến PSTN thông qua các Cổng

Hình minh họa sau đây cho thấy luồng cuộc gọi từ SIP đến PSTN thông qua các cổng.

Dưới đây là giải thích từng bước về tất cả quy trình diễn ra trong khi thực hiện cuộc gọi từ điện thoại SIP tới PSTN.

  • Trước hết, điện thoại (A) SIP quay số toàn cầu +91501234567 để liên hệ với B. Tác nhân người dùng SIP hiểu nó như một số toàn cầu và chuyển nó thành request-uri bằng DNS và kích hoạt yêu cầu.
  • Điện thoại SIP gửi INVITE trực tiếp đến cổng.
  • Cổng vào bắt đầu cuộc gọi vào PSTN bằng cách chọn một trung kế SS7 ISUP đến tổng đài điện thoại tiếp theo trong PSTN.
  • Các chữ số đã quay từ INVITE được ánh xạ vào IAM ISUP. Thông báo hoàn thành địa chỉ ISUP (ACM) được gửi lại bởi PSTN để chỉ ra rằng trung kế đã được tạo.
  • Điện thoại tạo ra nhạc chuông và nó sẽ chuyển đến tổng đài điện thoại. Cổng ánh xạ ACM tới phản hồi Tiến trình phiên 183 có chứa một SDP cho biết cổng RTP mà cổng đó sẽ sử dụng để kết nối âm thanh từ PSTN.
  • Khi nhận được 183, UAC của người gọi bắt đầu nhận các gói RTP được gửi từ cổng và trình bày âm thanh cho người gọi để họ biết rằng bộ nhớ đang tiến hành trong PSTN.
  • Cuộc gọi hoàn tất khi bên được gọi trả lời điện thoại, điều này khiến tổng đài điện thoại gửi tin nhắn trả lời (ANM) đến cổng.
  • Sau đó, cổng kết nối sẽ cắt kết nối âm thanh PSTN theo cả hai hướng và gửi phản hồi 200 OK đến người gọi. Khi đường dẫn phương tiện RTP đã được thiết lập, cổng trả lời SDP trong 183 nhưng không gây ra thay đổi nào đối với kết nối RTP.
  • UAC gửi một ACK để hoàn thành việc trao đổi tín hiệu SIP. Vì không có thông báo tương đương trong ISUP, cổng vào sẽ hấp thụ ACK.
  • Người gọi gửi BYE đến cổng kết thúc. Cổng ánh xạ BYE vào thông báo phát hành ISUP (REL).
  • Cổng gửi 200OK đến BYE và nhận RLC từ PSTN.

Một codec, viết tắt của coder-decoder, thực hiện hai hoạt động cơ bản –

  • Đầu tiên, nó chuyển đổi tín hiệu thoại tương tự sang dạng kỹ thuật số tương đương để có thể dễ dàng truyền đi.
  • Sau đó, nó chuyển đổi tín hiệu kỹ thuật số đã nén trở lại dạng analog ban đầu để có thể phát lại.

Có rất nhiều codec có sẵn trên thị trường – một số miễn phí trong khi những codec khác yêu cầu cấp phép. Các bộ giải mã khác nhau về chất lượng âm thanh và thay đổi về băng thông tương ứng.

Các thiết bị phần cứng như điện thoại và cổng hỗ trợ một số codec khác nhau. Trong khi nói chuyện với nhau, họ thương lượng xem họ sẽ sử dụng codec nào.

Ở đây, trong chương này, chúng ta sẽ thảo luận về một số codec âm thanh SIP phổ biến được sử dụng rộng rãi.

G.711

G.711 là một codec được ITU giới thiệu vào năm 1972 để sử dụng trong điện thoại kỹ thuật số. Codec có hai biến thể: A-Law đang được sử dụng ở Châu Âu và trong các liên kết điện thoại quốc tế, uLaw được sử dụng ở Hoa Kỳ và Nhật Bản.

  • G.711 sử dụng nén logarit. Nó ép mỗi mẫu 16 bit thành 8 bit, do đó nó đạt được tỷ lệ nén 1: 2.
  • Tốc độ bit là 64 kbit / s cho một hướng, do đó, một cuộc gọi tiêu thụ 128 kbit / s.
  • G.711 là codec tương tự được mạng PSTN sử dụng, do đó nó cung cấp chất lượng thoại tốt nhất. Tuy nhiên nó tiêu tốn nhiều băng thông hơn các codec khác.
  • Nó hoạt động tốt nhất trong các mạng cục bộ nơi chúng tôi có nhiều băng thông.

G.729

G.729 là một codec với yêu cầu băng thông thấp; nó cung cấp chất lượng âm thanh tốt.

  • Codec mã hóa âm thanh trong các khung có độ dài 10 ms. Với tần số lấy mẫu là 8 kHz, khung hình 10 ms chứa 80 mẫu âm thanh.
  • Thuật toán codec mã hóa mỗi khung hình thành 10 byte, do đó tốc độ bit thu được là 8 kbit / s theo một hướng.
  • G.729 là một codec được cấp phép. Người dùng cuối muốn sử dụng codec này nên mua phần cứng cài đặt nó (có thể là điện thoại hoặc cổng VoIP).
  • Một biến thể thường được sử dụng của G.729 là G.729a. Nó tương thích bằng dây với codec gốc nhưng có yêu cầu CPU thấp hơn.

G.723.1

G.723.1 là kết quả của một cuộc thi mà ITU đã công bố với mục đích thiết kế một codec cho phép các cuộc gọi qua các liên kết modem 28,8 và 33 kbit / s.

  • Chúng tôi có hai biến thể của G.723.1. Cả hai đều hoạt động trên khung âm thanh 30 ms (tức là 240 mẫu), nhưng các thuật toán khác nhau.
  • Tốc độ bit của biến thể đầu tiên là 6,4 kbit / s, trong khi đối với biến thể thứ hai là 5,3 kbit / s.
  • Khung được mã hóa cho hai biến thể dài lần lượt là 24 và 20 byte.

GSM 06.10

GSM 06.10 là một codec được thiết kế cho các mạng di động GSM. Nó còn được gọi là GSM Full Rate.

  • Biến thể này của codec GSM có thể được sử dụng tự do, vì vậy bạn thường sẽ tìm thấy nó trong các ứng dụng VoIP mã nguồn mở.

Codec hoạt động trên các khung âm thanh dài 20 ms (tức là 160 mẫu) và nó nén mỗi khung còn 33 byte, do đó tốc độ bit thu được là 13 kbit /.

SIP – B2BUA

Tác nhân người dùng hỗ trợ (B2BUA) là một phần tử mạng logic trong các ứng dụng SIP. Nó là một loại SIP UA nhận một yêu cầu SIP, sau đó định dạng lại yêu cầu và gửi nó đi dưới dạng một yêu cầu mới.

Không giống như một máy chủ proxy, nó duy trì trạng thái hộp thoại và phải tham gia vào tất cả các yêu cầu được gửi trên các hộp thoại mà nó đã thiết lập. B2BUA phá vỡ bản chất end-to-end của SIP.

B2BUA – Cách thức hoạt động?

Tác nhân B2BUA hoạt động giữa hai điểm cuối của cuộc gọi và chia kênh liên lạc thành hai chân cuộc gọi . B2BUA là sự ghép nối của UAC và UAS. Nó tham gia vào tất cả các báo hiệu SIP giữa cả hai đầu của cuộc gọi, nó đã được thiết lập. Vì B2BUA có sẵn trong nhà cung cấp dịch vụ hộp thoại có thể triển khai một số tính năng giá trị gia tăng.

Trong chặng gọi ban đầu, B2BUA hoạt động như một máy chủ tác nhân người dùng (UAS) và xử lý yêu cầu như một máy khách tác nhân người dùng (UAC) đến đầu cuối đích, xử lý tín hiệu giữa các điểm cuối liên tiếp.

B2BUA duy trì trạng thái hoàn chỉnh cho các cuộc gọi mà nó xử lý. Mỗi bên của B2BUA hoạt động như một phần tử mạng SIP tiêu chuẩn như được chỉ định trong RFC 3261.

Chức năng của B2BUA

B2BUA cung cấp các chức năng sau:

  • Quản lý cuộc gọi (thanh toán, ngắt kết nối cuộc gọi tự động, chuyển cuộc gọi, v.v.)
  • Kết nối mạng (có lẽ với sự thích ứng với giao thức)
  • Ẩn nội bộ mạng (địa chỉ riêng, cấu trúc liên kết mạng, v.v.)

Thông thường, B2BUA cũng được thực hiện trong các cổng truyền thông để kết nối các luồng phương tiện để kiểm soát toàn bộ phiên.

Ví dụ về B2BUA

Nhiều hệ thống điện thoại doanh nghiệp tổng đài chi nhánh tư nhân (PBX) kết hợp logic B2BUA.

Một số tường lửa được tích hợp sẵn chức năng ALG (Cổng lớp ứng dụng), cho phép tường lửa cho phép SIP và lưu lượng phương tiện trong khi vẫn duy trì mức độ bảo mật cao. Một loại B2BUA phổ biến khác được gọi là Bộ điều khiển biên phiên (SBC)

Trả lời