อ่าน 2 นาที
แอปพลิเคชันควบคุมเครดิตเส้นผ่านศูนย์กลาง
Diameter Credit-Control Application คือโปรโตคอลเครือข่ายสำหรับ แอปพลิเคชัน Diameter ที่ใช้ในการควบคุมเครดิตแบบเรียลไทม์สำหรับ บริการ ต่างๆ ของ ผู้ใช้ปลายทาง
แอปพลิเคชันควบคุมเครดิตเส้นผ่านศูนย์กลาง
Diameter Credit-Control Applicationคือโปรโตคอลเครือข่ายสำหรับ แอปพลิเคชัน Diameter ที่ใช้ในการควบคุมเครดิตแบบเรียลไทม์สำหรับ บริการ ต่างๆ ของผู้ใช้ปลายทาง
เป็นมาตรฐานของ IETF ที่กำหนดขึ้นครั้งแรกใน RFC 4006 และได้รับการปรับปรุงใน RFC 8506
วัตถุประสงค์
จุดประสงค์ของแอปพลิเคชันควบคุมเครดิต Diameter คือการจัดเตรียมกรอบการทำงานสำหรับการเรียกเก็บเงินแบบเรียลไทม์ โดยมีจุดประสงค์หลักเพื่อการสื่อสารระหว่างเกตเวย์/จุดควบคุมและระบบบัญชี/ยอดคงเหลือเบื้องหลัง (โดยทั่วไปคือระบบเรียกเก็บเงินออนไลน์ )
แอปพลิเคชันนี้ระบุวิธีการสำหรับ:
- การจัดการโควต้า (สำรอง, อนุมัติใหม่, ยกเลิก)
- การหัก/เครดิตแบบง่าย
- การตรวจสอบยอดคงเหลือ
- สอบถามราคา
แอปพลิเคชันควบคุมเครดิตเส้นผ่านศูนย์กลางไม่ได้ระบุว่าหน่วยประเภทใดที่ซื้อ/ใช้งาน และรายการใดที่ถูกเรียกเก็บเงิน รายละเอียดเหล่านี้ขึ้นอยู่กับบริบทของบริการซึ่งต้องระบุแยกต่างหาก เช่นเดียวกับความหมายบางประการ
ตัวอย่างหน่วยที่ใช้/ซื้อ:
- เวลา
- ไบต์การอัปโหลด/ดาวน์โหลด
- SMS (ข้อความ)
ตัวอย่างรายการที่ถูกเรียกเก็บเงิน:
- เงิน
- คะแนน
- หน่วย (เช่น หากยอดคงเหลือถูกเก็บไว้ในหน่วยเดียวกับที่ใช้จริง)
ระบบควบคุมเครดิตของ Diameter ยังระบุวิธีการจัดการกับประเด็นที่ค่อนข้างซับซ้อนเกี่ยวกับการใช้/เรียกเก็บเงินหลายประเภทจากยอดคงเหลือของผู้ใช้รายเดียว ตัวอย่างเช่น ผู้ใช้อาจชำระเงินทั้งค่าเวลาออนไลน์และค่าดาวน์โหลด แต่มียอดคงเหลือในบัญชีเพียงบัญชีเดียว
การคิดค่าบริการตามช่วงเวลา
กระบวนการควบคุมเครดิตแบบเซสชันจะใช้การสอบถามหลายขั้นตอน ซึ่งอาจรวมถึงการสอบถามครั้งแรก ขั้นกลาง และครั้งสุดท้าย ในระหว่างการสอบถาม เงินจะถูกกันไว้จากบัญชีผู้ใช้ การเรียกเก็บเงินแบบเซสชันมักใช้ในกรณีที่หน่วยที่เรียกเก็บเงินถูกใช้งานอย่างต่อเนื่อง เช่น การเรียกเก็บเงินสำหรับการอัปโหลด/ดาวน์โหลดข้อมูล
การคิดค่าบริการตามเหตุการณ์
กระบวนการควบคุมเครดิตแบบอิงเหตุการณ์ใช้เหตุการณ์เป็นกลไกในการคิดค่าบริการ โดยทั่วไปแล้ว การคิดค่าบริการแบบอิงเหตุการณ์จะใช้เมื่อไม่ได้มีการใช้งานหน่วยเครดิตอย่างต่อเนื่อง เช่น ผู้ใช้ส่ง MMS
รหัสคำสั่ง
เพื่อรองรับการควบคุมเครดิตผ่าน Diameter จึงมีข้อความ Diameter สองข้อความ ได้แก่ CCR (Credit Control Request) และ CCA (Credit Control Answer) รหัสคำสั่งสำหรับ CCR/CCA คือ 272 ตามที่กำหนดไว้ใน RFC 4006
สำหรับการจัดการโควต้า ลูกค้าจะส่ง CCR ไปยังเซิร์ฟเวอร์เพื่อขอหน่วยการใช้งานและรายงานปริมาณการใช้ เซิร์ฟเวอร์จะอนุมัติหน่วยการใช้งานและเรียกเก็บเงินจากผู้ใช้ สำหรับการหัก/เพิ่มยอดเงินแบบง่าย ลูกค้าจะส่ง CCR เพื่อขอให้เซิร์ฟเวอร์หัก/เพิ่มยอดเงินในบัญชีของผู้ใช้ สำหรับการสอบถามราคา ลูกค้าจะถามเซิร์ฟเวอร์ว่าราคาต่อหน่วยเป็นเท่าใด และเซิร์ฟเวอร์จะตอบกลับด้วยราคา
การไหลของข้อความ
โดยทั่วไปแล้ว การส่งข้อความจะถูกขับเคลื่อนโดยจุดควบคุมที่ร้องขอหน่วย และเซิร์ฟเวอร์ที่อนุมัติหน่วยเหล่านั้น ข้อความอาจถูกสร้างขึ้นโดยแอปพลิเคชัน Diameter อื่นๆ เช่น NASREQ (RFC4005) สำหรับเซสชันที่มีเวลา/การใช้งานจำกัด
แผนภาพต่อไปนี้แสดงผังการไหลของข้อความแบบง่ายสำหรับเซสชันที่ใช้การให้สิทธิ์ตามโควต้า

ลูกค้าเริ่มต้นด้วยการขอหน่วยเครดิต 10 หน่วยจากเซิร์ฟเวอร์ เซิร์ฟเวอร์จะตรวจสอบว่าผู้ใช้/ผู้สมัครใช้บริการมีเงินคงเหลือเพียงพอหรือไม่ ในตัวอย่างนี้ เซิร์ฟเวอร์จะอนุมัติหน่วยเครดิตทั้งหมดที่ลูกค้าร้องขอ หากผู้สมัครใช้บริการมีเงินคงเหลือไม่เพียงพอ เซิร์ฟเวอร์อาจอนุมัติหน่วยเครดิตน้อยลงหรือปฏิเสธคำขอทั้งหมดก็ได้
เมื่อหรือก่อนที่เซสชันของผู้สมัครใช้งานจะใช้หน่วยที่ได้รับอนุญาตหมดแล้ว ไคลเอนต์จะส่งข้อมูลอัปเดตไปยังเซิร์ฟเวอร์เพื่อแจ้งจำนวนหน่วยที่ใช้ไปและจำนวนหน่วยที่ต้องการได้รับอนุญาตในครั้งนี้ ไคลเอนต์สามารถขอหน่วยเพิ่มได้ก่อนที่หน่วยที่ได้รับอนุญาตครั้งก่อนจะถูกใช้หมด เพื่อหลีกเลี่ยงการระงับเซสชันของผู้สมัครใช้งานในขณะที่กำลังสื่อสารกับเซิร์ฟเวอร์ ในตัวอย่างนี้ ไคลเอนต์ส่งคำขอเมื่อใช้ไปแล้ว 7 หน่วยจาก 10 หน่วยที่ได้รับอนุญาตครั้งก่อน และขอเพิ่มอีก 10 หน่วย ซึ่งเซิร์ฟเวอร์จะอนุมัติให้ เซิร์ฟเวอร์สามารถใช้จำนวนหน่วยที่ใช้ไปในการหักยอดคงเหลือของผู้สมัครใช้งาน (การอนุมัติหน่วยไม่ได้หมายความว่าจะมีการใช้หน่วยเหล่านั้นเสมอไป ข้อมูลการใช้งานจริงจะแสดงอยู่ใน AVP (AVP) ที่ใช้หน่วย) นอกจากนี้ เซิร์ฟเวอร์ยังสามารถแจ้งไคลเอนต์ได้ว่าการอนุมัติมีอายุการใช้งานนานเท่าใด ในกรณีนี้ ไคลเอนต์จะต้องส่งข้อมูลอัปเดตเมื่อตัวจับเวลาการอนุมัติหมดอายุ
อาจมีข้อความแจ้งเตือนการอัปเดตหลายข้อความปรากฏขึ้นระหว่างเซสชัน
ในที่สุด ผู้สมัครใช้บริการได้ปิดเซสชันแล้ว และไคลเอนต์จะส่งข้อความปิดเซสชันไปยังเซิร์ฟเวอร์ซึ่งมีจำนวนหน่วยที่ใช้ล่าสุด เซิร์ฟเวอร์สามารถใช้ข้อความปิดเซสชันนี้เพื่อล้างการจองที่เกี่ยวข้องใดๆ ที่ทำไว้ในระบบการจัดการยอดคงเหลือเบื้องหลัง หากผู้สมัครใช้บริการไม่ได้ปิดเซสชันด้วยตนเอง แต่ใช้ยอดคงเหลือจนหมด เซิร์ฟเวอร์จะตอบกลับก่อนหน้านี้ด้วยการปฏิเสธข้อความอัปเดต ซึ่งอาจบอกให้ไคลเอนต์/จุดควบคุมเปลี่ยนเส้นทางการรับส่งข้อมูล (โดยปกติแล้วจะมีประโยชน์เฉพาะกับ การรับส่งข้อมูล HTTP / WAP เท่านั้น )
เมทริกซ์ AVP
AVP สำหรับรหัสคำสั่งใหม่
รหัสคำสั่งใหม่ CCA และ CCR อาจต้องใช้ AVP บางส่วนตามที่ระบุไว้ด้านล่าง AVP ที่เป็นตัวหนาคือ AVP ใหม่สำหรับ DCCA
| รหัสคำสั่ง | ||
|---|---|---|
| ชื่อแอตทริบิวต์ | ซีซีอาร์ | ซีซีเอ |
| รหัสเซสชันหลายบัญชี | 0–1 | 0–1 |
| รหัสยืนยันแอปพลิเคชัน | 1 | 1 |
| รหัสความสัมพันธ์ CC | 0–1 | 0 |
| ซีซี-เซสชัน-เฟลโอเวอร์ | 0 | 0–1 |
| หมายเลขคำขอ CC | 1 | 1 |
| ประเภทคำขอ CC | 1 | 1 |
| รหัสเซสชันย่อย CC | 0–1 | 0–1 |
| ผลการตรวจสอบยอดคงเหลือ | 0 | 0–1 |
| ข้อมูลต้นทุน | 0 | 0–1 |
| การจัดการความล้มเหลวในการควบคุมเครดิต | 0 | 0–1 |
| ปลายทาง-โฮสต์ | 0–1 | 0 |
| อาณาจักรปลายทาง | 1 | 0 |
| การจัดการความล้มเหลวของการหักบัญชีโดยตรง | 0 | 0–1 |
| เหตุการณ์-เวลา | 0–1 | 0–1 |
| AVP ล้มเหลว | 0 | 0+ |
| การระบุหน่วยสุดท้าย | 0 | 0–1 |
| หน่วยบริการที่ได้รับอนุมัติ | 0 | 0–1 |
| การควบคุมเครดิตบริการหลายประเภท | 0+ | 0+ |
| ตัวบ่งชี้บริการหลายรายการ | 0–1 | 0 |
| โฮสต์ต้นทาง | 1 | 1 |
| อาณาจักรต้นกำเนิด | 1 | 1 |
| รหัสรัฐต้นกำเนิด | 0–1 | 0–1 |
| ข้อมูลพร็อกซี | 0+ | 0+ |
| รีไดเร็กต์โฮสต์ | 0 | 0+ |
| การใช้งานโฮสต์แบบเปลี่ยนเส้นทาง | 0 | 0–1 |
| เวลาแคชสูงสุดในการเปลี่ยนเส้นทาง | 0 | 0–1 |
| การดำเนินการที่ร้องขอ | 0–1 | 0 |
| หน่วยบริการที่ร้องขอ | 0–1 | 0 |
| บันทึกเส้นทาง | 0+ | 0+ |
| รหัสผลลัพธ์ | 0 | 1 |
| รหัสบริบทบริการ | 1 | 0 |
| ตัวระบุบริการ | 0–1 | 0 |
| ข้อมูลพารามิเตอร์บริการ | 0+ | 0 |
| รหัสเซสชัน | 1 | 1 |
| รหัสการสมัครสมาชิก | 0+ | 0 |
| สาเหตุการเลิกจ้าง | 0–1 | 0 |
| ข้อมูลอุปกรณ์ผู้ใช้ | 0–1 | 0 |
| หน่วยบริการที่ใช้แล้ว | 0+ | 0 |
| ชื่อผู้ใช้ | 0–1 | 0–1 |
| ระยะเวลาความถูกต้อง | 0 | 0–1 |
AVP ใหม่สำหรับรหัสคำสั่งโปรโตคอลพื้นฐาน
| รหัสคำสั่ง | ||
|---|---|---|
| ชื่อแอตทริบิวต์ | อาร์อาร์ | ราเอเอ |
| รหัสเซสชันย่อย CC | 0–1 | 0–1 |
| ตัวระบุสระว่ายน้ำ GSU | 0–1 | 0–1 |
| ตัวระบุบริการ | 0–1 | 0–1 |
| กลุ่มจัดอันดับ | 0–1 | 0–1 |
ตารางนี้ใช้สัญลักษณ์ต่อไปนี้:
- 0. ห้ามมีAVP อยู่ในข้อความ
- อาจมี AVP ปรากฏอยู่ในข้อความตั้งแต่ศูนย์ครั้งขึ้นไป
- 0–1 อาจมี AVP ปรากฏอยู่ในข้อความเพียงศูนย์หรือหนึ่งครั้งเท่านั้น หากพบ AVP มากกว่าหนึ่งครั้ง จะถือว่าเป็นข้อผิดพลาด
- 1. ต้องมี AVP อย่างน้อยหนึ่งตัวปรากฏอยู่ในข้อความ
- 1+ ต้องมี AVP อย่างน้อยหนึ่งรายการอยู่ในข้อความ
มาตรฐานที่เกี่ยวข้อง
- RFC 4005 - แอปพลิเคชันเซิร์ฟเวอร์การเข้าถึงเครือข่าย Diameter
- RFC 4006 - แอปพลิเคชันควบคุมเครดิต Diameter (ล้าสมัย)
- RFC 8506 - แอปพลิเคชันควบคุมเครดิต Diameter
- 3GPP 32.299 - การจัดการโทรคมนาคม 3GPP - การจัดการการชาร์จ - แอปพลิเคชันการชาร์จแบบเส้นผ่านศูนย์กลาง
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แอปพลิเคชันควบคุมเครดิตเส้นผ่านศูนย์กลาง
Diameter Credit-Control Application คือโปรโตคอลเครือข่ายสำหรับ แอปพลิเคชัน Diameter ที่ใช้ในการควบคุมเครดิตแบบเรียลไทม์สำหรับ บริการ ต่างๆ ของ ผู้ใช้ปลายทาง
วัตถุประสงค์
จุดประสงค์ของแอปพลิเคชันควบคุมเครดิต Diameter คือการจัดเตรียมกรอบการทำงานสำหรับการเรียกเก็บเงินแบบเรียลไทม์ โดยมีจุดประสงค์หลักเพื่อการสื่อสารระหว่างเกตเวย์/จุดควบคุมและระบบบัญชี/ยอดคงเหลือเบื้องหลัง (โดยทั่วไปคือ ระบบเรียกเก็บเงินออนไลน์ )
การคิดค่าบริการตามช่วงเวลา
กระบวนการควบคุมเครดิตแบบเซสชันจะใช้การสอบถามหลายขั้นตอน ซึ่งอาจรวมถึงการสอบถามครั้งแรก ขั้นกลาง และครั้งสุดท้าย ในระหว่างการสอบถาม เงินจะถูกกันไว้จากบัญชีผู้ใช้ การเรียกเก็บเงินแบบเซสชันมักใช้ในกรณีที่หน่วยที่เรียกเก็บเงินถูกใช้งานอย่างต่อเนื่อง เช่น...
การคิดค่าบริการตามเหตุการณ์
กระบวนการควบคุมเครดิตแบบอิงเหตุการณ์ใช้เหตุการณ์เป็นกลไกในการคิดค่าบริการ โดยทั่วไปแล้ว การคิดค่าบริการแบบอิงเหตุการณ์จะใช้เมื่อไม่ได้มีการใช้งานหน่วยเครดิตอย่างต่อเนื่อง เช่น ผู้ใช้ส่ง MMS