SIP - Forking

Đôi khi, một máy chủ proxy chuyển tiếp một cuộc gọi SIP đến nhiều điểm cuối SIP. Quá trình này được gọi là rèn. Ở đây một cuộc gọi có thể đổ chuông nhiều điểm cuối cùng một lúc.

Với SIP fork, bạn có thể để điện thoại bàn đổ chuông cùng lúc với điện thoại mềm hoặc điện thoại SIP trên điện thoại di động, cho phép bạn dễ dàng nhận cuộc gọi từ một trong hai thiết bị.

Nói chung, trong văn phòng, giả sử sếp không thể nhận cuộc gọi hoặc đi vắng, SIP fork cho phép thư ký trả lời các cuộc gọi đến số máy lẻ của anh ta.

Forking sẽ có thể thực hiện được nếu có sẵn một proxy trạng thái khi nó cần thực hiện và phản hồi trong số nhiều proxy nó nhận được.

Chúng tôi có hai loại rèn -

  • Forking song song
  • Forking tuần tự

Forking song song

Trong trường hợp này, máy chủ proxy sẽ phân chia INVITE đến, chẳng hạn, hai thiết bị (UA2, UA3) cùng một lúc. Cả hai thiết bị sẽ tạo ra 180 Đổ chuông và bất kỳ ai nhận cuộc gọi sẽ tạo ra 200 OK. Phản hồi (giả sử UA2) đến Bộ khởi tạo trước sẽ thiết lập một phiên với UA2. Đối với phản hồi khác, HỦY sẽ được kích hoạt.

Nếu người khởi tạo nhận được cả hai phản hồi đồng thời, thì dựa trên giá trị q, nó sẽ chuyển tiếp phản hồi.

Forking tuần tự

Trong trường hợp này, máy chủ proxy sẽ phân phối INVITE tới một thiết bị (UA2). Nếu UA2 không khả dụng hoặc bận vào thời điểm đó, thì proxy sẽ chuyển nó sang thiết bị khác (UA3).

Chi nhánh - ID và Thẻ

Các ID nhánh giúp proxy đối sánh phản hồi với các yêu cầu đã phân nhánh. Nếu không có ID chi nhánh, máy chủ proxy sẽ không thể hiểu phản hồi được phân nhánh. Branch-id sẽ có sẵn trong Via header.

Các thẻ được UAC sử dụng để phân biệt nhiều phản hồi cuối cùng từ các UAS khác nhau. UAS không thể giải quyết liệu yêu cầu đã được chia nhỏ hay chưa. Do đó, nó cần phải thêm một thẻ.

Proxy cũng có thể thêm thẻ nếu nó tạo ra phản hồi cuối cùng, chúng không bao giờ chèn thẻ vào các yêu cầu hoặc phản hồi mà chúng chuyển tiếp.

Có thể một yêu cầu duy nhất cũng có thể được phân nhánh bởi nhiều máy chủ proxy. Vì vậy, proxy sẽ phân nhánh sẽ thêm các ID duy nhất của riêng nó vào các nhánh mà nó đã tạo.

Chân cuộc gọi và ID cuộc gọi

Chân cuộc gọi đề cập đến mối quan hệ báo hiệu 1-1 giữa hai tác nhân người dùng. ID cuộc gọi là một mã định danh duy nhất có trong bản tin SIP đề cập đến cuộc gọi. Cuộc gọi là một tập hợp các chân cuộc gọi.

Một UAC bắt đầu bằng cách gửi một MỜI. Do bị phân nhánh, nó có thể nhận được nhiều 200 OK từ các UA khác nhau. Mỗi tương ứng với một chặng gọi khác nhau trong cùng một cuộc gọi.

Do đó, một cuộc gọi là một nhóm các chân gọi. Chân cuộc gọi đề cập đến kết nối end-to-end giữa các UA.

Các không gian CSeq trong hai hướng của một chân gọi là độc lập. Trong một hướng duy nhất, số thứ tự được tăng lên cho mỗi giao dịch.

Thư thoại

Thư thoại bây giờ rất phổ biến đối với người dùng doanh nghiệp. Đó là một ứng dụng điện thoại. Khi bên được gọi vắng mặt hoặc không thể nhận cuộc gọi, PBX sẽ thông báo cho bên gọi để lại tin nhắn thoại.

Tác nhân người dùng sẽ nhận được phản hồi 3xx hoặc chuyển hướng đến máy chủ thư thoại nếu không thể truy cập được số của bên được gọi. Tuy nhiên, một số loại phần mở rộng SIP là cần thiết để cho hệ thống thư thoại biết hộp thư nào sẽ sử dụng — nghĩa là lời chào sẽ phát và nơi lưu trữ tin nhắn đã ghi. Có hai cách để đạt được điều này -

  • Bằng cách sử dụng phần mở rộng trường tiêu đề SIP

  • Bằng cách sử dụng URI yêu cầu để báo hiệu thông tin này

Giả sử cho người dùng sip:[email protected] có hệ thống thư thoại tại nhâm nhi: voicemail.tutorialspoint.com đang cung cấp thư thoại, URI yêu cầu của INVITE khi nó được chuyển tiếp đến máy chủ thư thoại có thể trông giống như sau:

sip:voicemail.tutorialspoint.com;target = sip:[email protected];cause = 486

Hình minh họa sau đây cho thấy cách Request-URI mang mã định danh hộp thư và lý do (ở đây 486).