Asterisk-queue: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
Line 15: Line 15:
현재 등록된 모든 queue 정보를 확인한다. show 뒤에 특정 Queue 이름을 입력하면 입력된 queue에 대한 내용만 나타난다.
현재 등록된 모든 queue 정보를 확인한다. show 뒤에 특정 Queue 이름을 입력하면 입력된 queue에 대한 내용만 나타난다.
<pre>
<pre>
[Oct 23 13:47:33] Connected to Asterisk 1.8.15.0-106.fc12 currently running on vpbx11 (pid = 19736)
vpbx11*CLI> queue show Camp200
vpbx11*CLI> queue show
Camp200 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:100, C:0, A:0, SL:0.0% within 0s
 
   Members:
1010 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
      user1 (Local/200@DialCamp) (Not in use) has taken no calls yet
   No Members
   No Callers
   No Callers
</pre>
</pre>
: 1010 : 큐 이름.
: Camp200 : 큐 이름.
: has 0 calls : 현재 큐에 인입되어 분배 대기중인 콜의 갯수.
: has 0 calls : 현재 큐에 인입되어 분배 대기중인 콜의 갯수.
: (max unlimited) : 큐에 인입되어 대기 가능한 최대 콜의 갯수.
: (max unlimited) : 큐에 인입되어 대기 가능한 최대 콜의 갯수.

Revision as of 10:04, 11 November 2015

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에 대한 내용만 나타난다.

vpbx11*CLI> queue show Camp200
Camp200 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:100, C:0, A:0, SL:0.0% within 0s
   Members: 
      user1 (Local/200@DialCamp) (Not in use) has taken no calls yet
   No Callers
Camp200 : 큐 이름.
has 0 calls : 현재 큐에 인입되어 분배 대기중인 콜의 갯수.
(max unlimited) : 큐에 인입되어 대기 가능한 최대 콜의 갯수.
'ringall' stratergy : 큐에 설정된 콜 분배 방식.
0s holdtime : 큐에 인입되는 콜들의 분배되기까지의 평균 대기 시간.
0s talktime : 큐에 인입되는 콜들의 분배 후 평균 통화 시간.
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