H.323 Gatekeeper ทำหน้าที่ควบคุมการคอล (Call Admission Control) และแปลง E.164 ID (หรือที่รู้จักกันโดยทั่วไปว่าเบอร์โทรศัพท์นั่นเอง) ไปเป็นไอพีแอดเดรส (ทำนองเดียวกับ DNS Server ที่ทำหน้าที่แปลง DNS เป็นไอพีแอดเดรส) เกตคีปเปอร์สามารถจำลองการทำงานเป็นซึ่งจะทำหน้าที่เป็นพร๊อกซี่ให้แก่ H.323 call และบางครั้งจึงเรียกว่า Session Border Controller เกตคีปเปอร์สามารถปฏิเสธหรือจำกัดจำนวนคอนเน็คชั่นที่จะยอมให้เกิดขึ้นพร้อมๆกันเพื่อป้องกันไม่ให้เครือข่ายเกิดความคับคั่งอันจะส่งผลกระทบต่อการให้บริการ
การโทรหากันแบบ point-to-point ของ H.323 endpoints ไม่จำเป็นต้องรีจิสเตอร์กับเกตคีปเปอร์ก็ได้ แต่ถ้ามีความจำเป็นต้องทำ call routing ด้วย prefix และมี endpoints มากแล้วหล่ะก็ควรมีเกตคีปเปอร์จะดีกว่าครับ จัดการได้ง่าย คอนฟิก Endpoint ได้ง่ายโดยให้ส่งคอลมาที่เกตคีปเปอร์ ที่เหลือเกตคีปเปอร์จะจัดการต่อเอง
การทำงานโดยทั่วไปของ H.323 Gatekeeper เป็นดังนี้
Endpoint A ต้องการโทรไปยัง Endpoint B เบอร์ 1231 ทั้งสองตัวเชื่อมต่อกับเกตคีปเปอร์ (อาจจะรีจิสเตอร์หรือไม่ก็ได้ ขึ้นอยู่กับคอนฟิกบนเกตคีปเปอร์)
ขั้นตอนที่ 1 Endpoint A ส่ง ARQ (Admission Request) ไปยังเกตคีปเปอร์เพื่อขออนุญาตโทรไปหาเบอร์ 1231
ขั้นตอนที่ 2 ถ้าเกตคีปเปอร์อนุญาต มันจะส่ง ACF (Admission Confirmation) กลับมาพร้อมด้วยไอพีแอดเดรสของ Endpoint ที่มีเบอร์ 1231 (ซึ่งก็คือ Endpoint B)
ขั้นตอนที่ 3 Endpoint A ส่ง Q.931 Call Setup ไปยัง Endpoint B
ขั้นตอนที่ 4 Endpoint B ส่ง ARQ ไปยังเกตคีปเปอร์เพื่อสอบถามว่าจะให้รับคอลนี้หรือไม่
ขั้นตอนที่ 5 ถ้าเกตคีปเปอร์อนุญาต มันจะส่ง ACF พร้อมด้วยไอพีแอดเดรสของ Endpoint A เพื่อยืนยันอีกครั้งว่าให้รับคอลจากไอพีนี้ได้
ขั้นตอนที่ 6 Endpoint B รับคอลและส่ง Q.931 Call Setup Endpoint A อันเป็นขั้นตอนปกติของ H.323
ขั้นตอนที่ 7 ทั้ง Endpoint A และ B ส่ง IRR ไปยัง
ขั้นตอนที่ 8 Endpoint ตัวใดตัวหนึ่งวางสายก่อน มันจะส่ง DRQ (Disconnect Request) ไปยังเกตคีปเปอร์
ขั้นตอนที่ 9 เกตคีปเปอร์ส่ง DCF (Disconnect Confirmation) ไปยัง Endpoint ทั้งสองตัวและวางสาย