Asterisk-queue
Jump to navigation
Jump to search
Overview
Asterisk queue 명령어 정리
Basic
Asterisk 의 Queue 는 디바이스(채널)의 상태 정보에 따라 민감하게 반응한다. 이런 이유로, 각각의 Asterisk 에서 Queue 에 채널을 추가하기 위해서는 먼저 채널 드라이버에서 Queue 모듈에 적절한 상태정보를 줄 수 있는지를 확인해야 한다. 하지만, 각각의 채널드라이버(SIP, IAX, ...)에서 사용되는 채널의 상태 정보들이 다를 수 있다. 그리고, 각각의 모듈에서 Queue 로 채널(디바이스)상태 정보를 전달할 수 있도록 하는 적절한 옵션을 설정해줘야 한다.
chan_sip
sip.conf 파일에 다음을 추가해야 한다.
[general] callcounter=yes ; enable device states for SIP devices
show
현재 등록된 모든 queue 정보를 확인한다. show 뒤에 특정 Queue 이름을 입력하면 입력된 queue에 대한 내용만 나타난다.
[Oct 23 13:47:33] Connected to Asterisk 1.8.15.0-106.fc12 currently running on vpbx11 (pid = 19736) vpbx11*CLI> queue show 1010 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s No Members No Callers
- W : 큐 가중치. 하나의 상담원(채널)이, 여러개의 큐에 대기중이고, 여러개의 큐에 동시에 콜이 인입되었을 경우, 가중치가 높은(많은) 수록, 큐에 인입된 콜이 먼저 분배될 확률이 높아진다.
- C : 현재 인입되어 분배 대기중인 콜 수.
- A : 큐에 인입되어 정상적으로 분배된 콜 수.
- SL : Service level check interval 시간동안 인입된 콜의 정상 분배율 %.
- within 0s : Service level check interval
add
queue 에 Member 를 추가한다.
*CLI> queue add member <channel> to <queue> [[[penalty <penalty>] as <membername>] state_interface <interface>]
- <channel> : Queue 에 추가하고자 하는 channel 정보. SIP/0000FFFF0003 과 같은 정보를 말한다.
- <queue> : 멤버가 추가될 Queue 이름.
- <penalty> : 추가되는 멤버가 가지게 될 패널티
- <membername> : 추가되는 멤버에 설정하고자 하는 이름
- state_interface : 추가되는 채널의 상태정보를 설정한다
*CLI> queue add member SIP/0000FFFF0001 to support Added interface 'SIP/0000FFFF0001' to queue 'support' *CLI> queue show support support has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s Members: SIP/0000FFFF0001 (dynamic) (Not in use) has taken no calls yet No Callers
remove
queue에서 멤버를 삭제한다.
queue remove member SIP/0000FFFF0001 from support Removed interface 'SIP/0000FFFF0001' from queue 'support'
pause
queue 에 설정된 멤버를 일시정지 한다
*CLI> queue pause member SIP/0000FFFF0001 queue support reason DoingCallbacks paused interface 'SIP/0000FFFF0001' in queue 'support' for reason 'DoingCallBacks' *CLI> queue show support support has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s Members: SIP/0000FFFF0001 (dynamic) (paused) (Not in use) has taken no calls yet No Callers
unpause
일시정지 되어 있는 멤버를 다시 복귀시킨다.
*CLI> queue unpause member SIP/0000FFFF0001 queue support reason off-break unpaused interface 'SIP/0000FFFF0001' in queue 'support' for reason 'off-break' *CLI> queue show support support has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s Members: SIP/0000FFFF0001 (dynamic) (Not in use) has taken no calls yet No Callers