Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ☎️ User Agent trong SIP – Ai gửi Request, ai trả Response?

    Trong SIP, User Agent (UA) là một thành phần có khả năng khởi tạo hoặc nhận SIP communication. Một IP Phone, softphone hay hệ thống Call Control đều có thể đóng vai trò User Agent.

    Điểm quan trọng là: User Agent không đồng nghĩa với “người dùng”. Đây là một thực thể SIP tham gia vào quá trình signaling. 1. UAC – User Agent Client


    UAC là phía tạo và gửi SIP Request.

    Ví dụ Phone A gọi Phone B:
    Phone A Phone B
    UAC UAS
    │ │
    │----------- INVITE ---------------->│

    Phone A tạo INVITE, vì vậy trong transaction này Phone A đang đóng vai trò UAC.

    UAC có thể gửi các request như INVITE, BYE, REGISTER, OPTIONS... 2. UAS – User Agent Server


    UAS là phía nhận SIP Request và tạo SIP Response.

    Phone B nhận INVITE và có thể phản hồi:
    Phone A Phone B
    UAC UAS
    │ │
    │--------- INVITE -------------->│
    │<-------- 100 Trying -----------│
    │<-------- 180 Ringing ----------│
    │<-------- 200 OK ---------------│

    Như vậy:
    UAC gửi Request → UAS xử lý Request và gửi Response.

    Điều này khá giống mô hình Client/Server, nhưng có một điểm khác rất quan trọng. 3. Một SIP Phone có thể vừa là UAC vừa là UAS


    Đừng nghĩ rằng Phone A luôn là Client còn Phone B luôn là Server.

    Vai trò UAC/UAS được xác định theo từng SIP transaction.

    Ví dụ ban đầu:

    Phone A → INVITE → Phone B

    A là UAC, B là UAS.

    Nhưng sau đó Phone B muốn kết thúc cuộc gọi:

    Phone B → BYE → Phone A

    Lúc này B trở thành UAC của transaction BYE, còn A là UAS.

    Vì vậy, hầu hết SIP endpoint đều có khả năng hoạt động cả UAC và UAS.
    4. B2BUA – Một khái niệm rất quan trọng


    Trong hệ thống Collaboration thực tế, chúng ta còn gặp:

    B2BUA – Back-to-Back User Agent.

    Cisco Unified CM (CUCM)CUBE là những ví dụ quan trọng.

    B2BUA đứng giữa hai phía và về mặt logic tạo ra hai call leg SIP riêng biệt:
    Phone A CUCM/CUBE Phone B
    │ │ │
    │---- INVITE ------->│ │
    │ │------ INVITE ------>│
    │ │<------ 200 OK -------│
    │<---- 200 OK -------│ │

    Nhìn từ Phone A, CUCM/CUBE hoạt động như một UAS.

    Nhìn về phía Phone B, CUCM/CUBE lại hoạt động như một UAC.

    Đó chính là ý nghĩa của:
    Back-to-Back User Agent

    B2BUA không đơn giản chỉ chuyển tiếp nguyên SIP message. Nó có thể tham gia sâu vào việc xử lý cuộc gọi, chẳng hạn Call Routing, Dial Plan, Header Manipulation, Media Negotiation và các chính sách cuộc gọi tùy nền tảng.
    5. B2BUA khác SIP Proxy thế nào?


    Đây là điểm rất dễ nhầm khi học SIP.

    SIP Proxy chủ yếu nhận và forward/routing SIP Request về phía đích. Nó tham gia vào quá trình định tuyến signaling nhưng không chia cuộc gọi thành hai SIP dialog độc lập theo cách B2BUA thực hiện.

    Trong khi đó:
    Proxy
    Phone A ───────────────► Phone B
    Forward SIP

    còn B2BUA:
    Phone A ←── Call Leg 1 ──► B2BUA ←── Call Leg 2 ──► Phone B

    Vì kiểm soát hai call leg, B2BUA có khả năng can thiệp vào signaling mạnh hơn.

    Cisco CUCM và CUBE hoạt động theo mô hình B2BUA. Các nền tảng như Cisco Expressway có thể đảm nhiệm những vai trò khác nhau tùy chức năng và luồng signaling.
    🎯 Cách nhớ nhanh


    Chỉ cần nhớ ba khái niệm:

    UAC → gửi SIP Request

    UAS → nhận Request và gửi Response

    B2BUA → đứng giữa, kết thúc một SIP leg và tạo một SIP leg khác

    Ví dụ:
    Phone A (UAC) → CUCM/CUBE (B2BUA) → Phone B (UAS)

    Hiểu rõ UAC – UAS – B2BUA rất quan trọng khi đọc SIP Trace, bởi nó giúp Network/Collaboration Engineer xác định chính xác ai gửi INVITE, ai trả 4xx/5xx, và cuộc gọi đang thất bại ở call leg nào.
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X