Asterisk ami-action: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 234: | Line 234: | ||
</pre> | </pre> | ||
* Rule : queuerules.conf 파일에 설정되어 있는 Rule 이름. | * Rule : queuerules.conf 파일에 설정되어 있는 Rule 이름. | ||
== Call == | |||
=== Originate === | |||
발신을 한다. | |||
<pre> | |||
Action: Originate | |||
ActionID: <value> | |||
Channel: <value> | |||
Exten: <value> | |||
Context: <value> | |||
Priority: <value> | |||
Application: <value> | |||
Data: <value> | |||
Timeout: <value> | |||
CallerID: <value> | |||
Variable: <value> | |||
Account: <value> | |||
EarlyMedia: <value> | |||
Async: <value> | |||
Codecs: <value> | |||
ChannelId: <value> | |||
OtherChannelId: <value> | |||
</pre> | |||
* Channel : 발신 목적지 채널 | |||
* Exten : 발신 성공 후 연결될 Extension(Context, Priority 항목 설정 필요) | |||
* Context : 발신 성공 후 연결될 Context(Exten, Priority 항목 설정 필요) | |||
* Priority : 발신 성공 후 사용될 Priority(Exten, Context 항목 설정 필요) | |||
* Application : 발신 성공 후 실행될 Application | |||
* Data : Application 에 사용될 Data(Application 항목 설정 필요) | |||
* Timeout : 발신 후, 응답시까지의 timeout | |||
* CallerID : 발신 채널에 설정될 Caller ID | |||
* Variable : 채널 헤더에 설정될 임의 변수 값. 다중의 채널 헤더 변수 값 설정 가능. | |||
* Account : Account code | |||
* EalryMedia : true 설정시, 강제로 early media 로 연결되게 된다. | |||
* Async : true 설정시, 곧바로 발신 성공값을 리턴한다. | |||
* Codes : 발신에 사용될 코덱 지정. 콤마로 구분자로 여러개의 값을 지정할 수 있다. | |||
* ChannelId : 채널에 설정될 유니크 아이디 값. | |||
* OtherChannelId : 다른쪽 로컬 채널에 설정될 유니크 아이디 값. | |||
=== Hangup === | |||
채널을 종료한다. | |||
<pre> | |||
Action: Hangup | |||
ActionID: <value> | |||
Channel: <value> | |||
Cause: <value> | |||
</pre> | |||
* channel : 종료하고자하는 채널의 정확한 이름. 혹은 정규표현식도 가능하다. | |||
: Example exact channel: SIP/provider-0000012a | |||
: Example regular expression: /^SIP/provider-.*$/ | |||
* Cause : 채널 종료 사유(숫자) | |||
== See also == | == See also == |
Revision as of 23:44, 12 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/Member(Channel) 의 현재 상태 정보를 확인한다. 입력된 Queue/Member(Channel) 항목이 없다면 현재 활성화된 전체 Queue/Member(Channel) 의 상태 정보를 리턴한다.
Action: QueueStatus ActionID: <value> Queue: <value> Member: <value>
- Queue - 확인하고자 하는 Queue name.
- Member - 확인하고자 하는 멤버(Channel) 이름
Example
Action: QueueStatus Queue: Camp200 ActionID: 001 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 상태)
QueueSummary
Queue의 간략 상태를 표시한다.
Action: QueueSummary ActionID: <value> Queue: <value>
- Queue : Queue name
Example
Action: QueueSummary Queue: Camp200 Response: Success Message: Queue summary will follow Event: QueueSummary Queue: Camp200 LoggedIn: 1 Available: 1 Callers: 0 HoldTime: 0 TalkTime: 3 LongestHoldTime: 0 Event: QueueSummaryComplete
- LoggedIn : 현재 로그인(활성화)되어 있는 멤버(Channel) 갯수
- Available : 현재 대기중인 멤버(Channel) 갯수
- Callers : 현재 큐에 인입되어 대기중인 콜 갯수
- HoldTime : 콜이 큐에 인입되어 분배되기 까지의 평균 대기 시간
- TalkTime : 콜이 큐에 인입되어 분배되고 난 후의 평균 통화 시간
- LongestHoldTime : 큐에서 가장 오래 대기한 콜의 대기시간.
QueuePenalty
큐 멤버의 패널티를 설정한다.
Action: QueuePenalty ActionID: <value> Interface: <value> Penalty: <value> Queue: <value>
- Interface : 패널티를 수정하고자 하는 멤버(Channel) 이름(tech/name).
- Penalty : 설정하고자 하는 패널티 값. 단, 음수를 설정할수는 없다.
- Queue : 패널티를 설정하고자하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 패널티 값을 수정하게 된다.
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 이벤트에 설정되게 된다.
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 이름.
Call
Originate
발신을 한다.
Action: Originate ActionID: <value> Channel: <value> Exten: <value> Context: <value> Priority: <value> Application: <value> Data: <value> Timeout: <value> CallerID: <value> Variable: <value> Account: <value> EarlyMedia: <value> Async: <value> Codecs: <value> ChannelId: <value> OtherChannelId: <value>
- Channel : 발신 목적지 채널
- Exten : 발신 성공 후 연결될 Extension(Context, Priority 항목 설정 필요)
- Context : 발신 성공 후 연결될 Context(Exten, Priority 항목 설정 필요)
- Priority : 발신 성공 후 사용될 Priority(Exten, Context 항목 설정 필요)
- Application : 발신 성공 후 실행될 Application
- Data : Application 에 사용될 Data(Application 항목 설정 필요)
- Timeout : 발신 후, 응답시까지의 timeout
- CallerID : 발신 채널에 설정될 Caller ID
- Variable : 채널 헤더에 설정될 임의 변수 값. 다중의 채널 헤더 변수 값 설정 가능.
- Account : Account code
- EalryMedia : true 설정시, 강제로 early media 로 연결되게 된다.
- Async : true 설정시, 곧바로 발신 성공값을 리턴한다.
- Codes : 발신에 사용될 코덱 지정. 콤마로 구분자로 여러개의 값을 지정할 수 있다.
- ChannelId : 채널에 설정될 유니크 아이디 값.
- OtherChannelId : 다른쪽 로컬 채널에 설정될 유니크 아이디 값.
Hangup
채널을 종료한다.
Action: Hangup ActionID: <value> Channel: <value> Cause: <value>
- channel : 종료하고자하는 채널의 정확한 이름. 혹은 정규표현식도 가능하다.
- Example exact channel: SIP/provider-0000012a
- Example regular expression: /^SIP/provider-.*$/
- Cause : 채널 종료 사유(숫자)
See also
- https://wiki.asterisk.org/wiki/display/AST/AMI+Actions - Asterisk-1.8 AMI reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+10+AMI+Actions - Asterisk-10 AMI reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+AMI+Actions - Asterisk-11 AMI Action reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+AMI+Events - Asterisk-11 AMI Event reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+AMI+Actions - Asterisk-12 AMI Action reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+AMI+Events - Asterisk-12 AMI Event reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Actions - Asterisk-13 AMI Action reference guide.
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Events - Asterisk-13 AMI Event reference guide.
References
<references />