Asterisk ami-action: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:
</pre>
</pre>


== Login ==
== Access ==
=== Login ===
AMI login 을 한다.
<pre>
<pre>
Action: Login
Action: Login
ActionID: 1
ActionID: <value>
Username: admin
Username: <value>
Secret: secret5
Secret: <value>
</pre>
* Username : Access Username. manager.conf 에 설정되어 있다.
* Secret : Password. manager.conf 에 설정되어 있다.
 
=== Logoff ===
AMI logoff 를 한다.
<pre>
Action: Logoff
ActionID: <value>
</pre>
</pre>



Revision as of 12:11, 11 November 2015

Overview

Asterisk ami(Asteriskk Manager Interface) 명령어 정리.

Basic

Telnet 접속

/etc/asterisk/manager.conf 파일에 설정한 IP 주소 및 포트 번호를 이용하면 telnet 으로도 접속이 가능하다.

$ telnet 127.0.0.1 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.0

Access

Login

AMI login 을 한다.

Action: Login
ActionID: <value>
Username: <value>
Secret: <value>
  • Username : Access Username. manager.conf 에 설정되어 있다.
  • Secret : Password. manager.conf 에 설정되어 있다.

Logoff

AMI logoff 를 한다.

Action: Logoff
ActionID: <value>

Queue

QueueStatus

Queue 의 현재 상태 정보를 확인한다. 입력된 Queue 항목의 없다면 현재 활성화된 전체 Queue 의 상태 정보를 리턴한다.

Action Request

Action: QueueStatus
Queue: Camp200
ActionID: 001
  • Queue - 확인하고자 하는 Queue name.

Action Response

Response: Success
ActionID: 001
Message: Queue status will follow

Event: QueueParams
Queue: Camp200
Max: 0
Strategy: ringall
Calls: 0
Holdtime: 0
TalkTime: 0
Completed: 0
Abandoned: 0
ServiceLevel: 0
ServicelevelPerf: 0.0
Weight: 100
ActionID: 001

Event: QueueMember
Queue: Camp200
Name: user1
Location: Local/200@DialCamp
Membership: static
Penalty: 0
CallsTaken: 0
LastCall: 0
Status: 5
Paused: 0
ActionID: 001

Event: QueueStatusComplete
ActionID: 001

- QueueParam 정보

  • Event - 메시지 타입. QueueParam:Queue 정보, QueueMember:Queue에 속해있는 member 정보.
  • Queue - Queue name
  • Max - Queue에서 허용 가능한 최대 콜 수.
  • Strategy - 콜 분배 방식.(rignall|roundrobin|leastrecent|fewestcalls|random|rrmemory|linear|wrandom)
  • HoldTime - 현재 평균 큐 대기 시간.
  • Weight - 큐의 우선 순위. 높은(많은) 우선순위를 가진 큐의 콜이 낮은(적은) 우선순위를 가진 큐보다 먼저 분배될 확률이 높아진다.
  • ServiceLevel - ServiceLevelPerf 를 확인하는 Interval time(sec)
  • ServicelevelPerf - SerivceLevel 시간동안의 콜 응답률(%). 응답 콜 /전체 인입 콜 * 100
  • Calls - 현재 큐에서 대기중인 콜의 갯수.
  • Abandoned - 큐에서 대기중에 분배되지 못하고 끊어진 콜.
  • TalkTikme - 분배 후 평균 통화시간.
  • Completed - 정상적으로 분배 완료된 콜 갯수

- QueueMember 정보

  • Event - 메시지 타입. QueueParam:Queue 정보, QueueMember:Queue에 속해있는 member 정보.
  • Queue - Queue name
  • Name - Member name
  • Status - 멤버의 상태 번호(0:AST_DEVICE_UNKNOWN, 1:AST_DEVICE_NOT_INUSE, 2:AST_DEVICE_INUSE, 3:AST_DEVICE_BUSY, 4:AST_DEVICE_INVALID, 5:AST_DEVICE_UNAVAILABLE, 6:AST_DEVICE_RINGING, 7:AST_DEVICE_RINGINUSE, 8:AST_DEVICE_ONHOLD).
  • Location - 멤버의 Channel 정보 혹은 위치 정보
  • StateInterface - 멤버의 상태 정보를 확인하는 장치 정보.
  • Membership - 멤버의 등록 방법(dynamic|realtime|static).
  • Penalty - 패널티 정보(높은 패널티를 가지게 되면 상대적으로 콜을 분배받기 어려워진다.)
  • CallsTaken - 분배받은 콜의 숫자
  • LastCall - 마지막으로 받은 콜의 시간. Unix 타임을 사용한다.
  • Paused - Paused 여부. (1:Paused 상태, 0:Normal 상태)

QueuePause

큐에 설정된 멤버(Channel)을 일시적 사용불가/사용가능 상태로 변경한다.

Action: QueuePause
ActionID: <value>
Interface: <value>
Paused: <value>
Queue: <value>
Reason: <value>
  • Interface : 사용가능/불가 상태로 지정하고자 하는 채널 혹은 인터페이스(tech/name)
  • Paused : "true": 사용불가, "false" : 사용가능
  • Queue : paused/unpaused 하고자 하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 paused/unpaused 를 하게 된다.
  • Reason : Description. QueueMemberPaused 이벤트에 설정되게 된다.

QueuePenalty

큐 멤버의 패널티를 설정한다.

Action: QueuePenalty
ActionID: <value>
Interface: <value>
Penalty: <value>
Queue: <value>
  • Interface : 패널티를 수정하고자 하는 멤버(Channel) 이름(tech/name).
  • Penalty : 설정하고자 하는 패널티 값. 단, 음수를 설정할수는 없다.
  • Queue : 패널티를 설정하고자하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 패널티 값을 수정하게 된다.

QueueReload

Queue를 reload한다. 하나 혹은 다수 Queue 또는 큐의 하위 섹션들을 reload 한다.

Action: QueueReload
ActionID: <value>
Queue: <value>
Members: <value>
Rules: <value>
Parameters: <value>
  • Queue : reload 하고자 하는 큐 이름. 만약 지정하지 않으면, 모든 큐에 대해 reload가 수행된다.
  • Members : Queue 의 멤버들의 reload 여부. (yes|no)
  • Rules : queuerules.conf 파일의 reload 여부. (yes|no)
  • Parameters : 다른 Queue 옵션들의 reload 여부. (yes|no)

QueueAdd

Action: QueueAdd
ActionID: <value>
Queue: <value>
Interface: <value>
Penalty: <value>
Paused: <value>
MemberName: <value>
StateInterface: <value>
  • Queue : Queue name
  • Interface : Queue에 추가하고자 하는 멤버(Channel) 이름(tech/name).
  • Penalty : 초기 설정 Penalty 값
  • Paused : Paused 설정(true/false 혹은 1/0)
  • MemberName : Interface 별명.
  • StateInterface : 멤버 State 를 받아오는 device 혹은 Channel 정보.

QueueRemove

Queue 에서 해당 멤버(Channel)를 삭제한다.

Action: QueueRemove
ActionID: <value>
Queue: <value>
Interface: <value>
  • Queue : Queue name
  • Interface : 삭제하고자 하는 멤버(Channel) 이름(tech/name)

QueueReset

Queue 관련 통계를 초기화한다.

Action: QueueReset
ActionID: <value>
Queue: <value>
  • Queue : Queue name

QueueRule

queuerules.conf 에 설정된 Queue Rule 을 보여준다.

Action: QueueRule
ActionID: <value>
Rule: <value>
  • Rule : queuerules.conf 파일에 설정되어 있는 Rule 이름.

See also

References

<references />