1. Tổng Quan
Asterisk là một hệ thống tổng đài mã nguồn mở mạnh mẽ và linh hoạt, nhưng để khai thác hết sức mạnh đó, người quản trị cần nắm vững các lệnh CLI thường dùng trong quá trình vận hành, giám sát và xử lý sự cố.
Bài viết này tổng hợp các lệnh Asterisk phổ biến nhất khi làm việc với:
- Queue cuộc gọi (Queue)
- Tiện ích mở rộng (Extension)
- SIP/PJSIP peer
- Channel đang hoạt động
- Module, reload cấu hình
- Thao tác trực tiếp AGI / dialplan
2. Các lệnh thường dùng.
Lệnh Quản Lý Queue (Hàng Đợi)
🔹 queue show
Hiển thị thông tin queue cụ thể:
asterisk -rx "queue show Instrument"
Kết quả:
Queue Instrument has 2 calls (max unlimited) in 'ringall' strategy
Members:
SIP/1000 (Not in use) has taken 10 calls
SIP/1001 (Unavailable) has taken 5 calls
Dùng khi kiểm tra agent đang đăng nhập chưa, queue có sẵn hay không.
🔹 queue add member SIP/1000 to Instrument
Thêm agent thủ công:
queue add member SIP/1001 to Instrument
Có thể kiểm tra bằng queue show Instrument
.
🔹 queue remove member SIP/1000 from Instrument
Gỡ agent khỏi queue.
🔹 queue reload
Tải lại cấu hình queue từ queues.conf
.
Lệnh Kiểm Tra Extension / Dialplan
🔹 dialplan show
Hiển thị toàn bộ dialplan:
dialplan show
Hoặc một context cụ thể:
dialplan show from-internal
🔹 dialplan reload
Tải lại extensions.conf
:
dialplan reload
🔹 dialplan add extension
Thêm dialplan tạm thời (ít dùng):
dialplan add extension 1001,1,Dial(SIP/1001) into from-internal
Lưu ý: chỉ có hiệu lực runtime, không ghi vào file.
Lệnh SIP / PJSIP
🔹 sip show peers
/ pjsip show endpoints
Xem trạng thái SIP hoặc PJSIP extensions:
sip show peers
Hoặc với PJSIP:
pjsip show endpoints
🔹 sip show peer 1000
Chi tiết 1 SIP peer:
sip show peer 1000
🔹 pjsip show contacts
Xem thông tin đăng ký:
pjsip show contacts
Lệnh Kiểm Tra Cuộc Gọi / Channel
🔹 core show channels
Hiển thị các channel đang hoạt động:
core show channels
🔹 core show channel <ChannelID>
Chi tiết 1 channel:
core show channel SIP/1000-0000000f
🔹 channel request hangup <ChannelID>
Gác máy một channel đang hoạt động:
channel request hangup SIP/1001-00000010
Lệnh Module & Reload
🔹 module show
Liệt kê các module đang nạp:
module show
🔹 module load <module>
Nạp module mới:
module load app_macro.so
🔹 module unload <module>
Gỡ module:
module unload app_macro.so
🔹 reload
Tải lại toàn bộ cấu hình:
reload
⚠️ Cẩn thận khi reload trên hệ thống đang hoạt động nhiều.
Lệnh AGI / Script liên quan
🔹 agi set debug on
Bật log debug AGI:
agi set debug on
🔹 core set verbose 5
Xem log rõ hơn:
core set verbose 5
🔹 logger reload
Tải lại cấu hình logger.conf
.
📐 Sơ Đồ Quá Trình Cuộc Gọi Trong Queue
[Caller]
|
v
[extensions.conf]
|
v
[Queue: Instrument] ---> [SIP/1000]
\-> [SIP/1001]
3. Ưu – Nhược Điểm
Ưu điểm | Nhược điểm |
---|---|
✔ Quản lý chi tiết, theo thời gian thực | ⚠️ Một số lệnh chỉ runtime, không lưu |
✔ Gỡ lỗi và kiểm tra nhanh | ⚠️ Cần kiến thức CLI, dễ gõ nhầm |
✔ Giao tiếp tốt với AGI/Logs |
4. Lời Khuyên
- Dùng
asterisk -rvvvv
để vào CLI với log chi tiết. - Học kỹ lệnh
queue show
,core show channels
,sip/pjsip show
, rất hữu ích cho xử lý lỗi. - Với hệ thống lớn, script shell hoặc AGI Python nên được sử dụng để tự động hóa thao tác queue / agent.
- Hạn chế dùng
reload
trên production vào giờ cao điểm – hãy dùngmodule reload
hoặc reload riêng từng phần.
5. Kết Luận
Quản trị Asterisk hiệu quả đòi hỏi bạn thành thạo các lệnh CLI, đặc biệt khi xử lý cuộc gọi, queue, agent, hoặc khi cần reload nhanh mà không làm gián đoạn hệ thống. Bằng cách nắm vững những lệnh này, bạn sẽ dễ dàng theo dõi hoạt động hệ thống, debug sự cố và tối ưu hiệu suất tổng đài.
Bạn có thể bookmark bài viết này như một cheatsheet CLI quản trị Asterisk.