Asterisk ami-action: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
 
(106 intermediate revisions by the same user not shown)
Line 96: Line 96:
EventList: start
EventList: start
Message: Agents will follow
Message: Agents will follow
Event: Agents
Agent: 10001
Name: agent 10001
Status: AGENT_LOGGEDOFF


Event: AgentsComplete
Event: AgentsComplete
EventList: Complete
EventList: Complete
ListItems: 0
ListItems: 1
</pre>
</pre>


Line 124: Line 129:


=== Example ===
=== Example ===
Error case
==== Normal case ====
<pre>
Action: AGI
Channel: PJSIP/pjagent-02-00000006
Command: Answer
CommandID: 77cdcf4c-feed-11e7-bd12-5b24ee4818c3
 
Response: Success
Message: Added AGI command to queue
</pre>
 
<pre>
Action: AGI
Channel: PJSIP/199-00000024
Command: EXEC Playback hello-world
 
Response: Success
Message: Added AGI command to queue
</pre>
 
==== Error case ====
<pre>
<pre>
Action: AGI
Action: AGI
Line 1,244: Line 1,269:


== DataGet ==
== DataGet ==
Retrieve the data api tree.
Retrieve the data api tree.
Retrieve the data api tree.
<pre>
<pre>
Line 1,260: Line 1,283:


=== Example ===
=== Example ===
==== Normal ====
<pre>
Action: DataGet
Path: /asterisk/channel/sip/peers
Search: peers/peer/name=agent-01
Event: DataGet Tree
1-peers.peer.vmexten: asterisk
1-peers.peer.is_realtime: False
2-peers.peer.amaflags.text: Unknown
2-peers.peer.amaflags.value: 0
1-peers.peer.transports: UDP
1-peers.peer.inuse: 0
1-peers.peer.timer_t1: 500
3-peers.peer.callingpres.text: Presentation Allowed, Not Screened
3-peers.peer.callingpres.value: 0
1-peers.peer.unsolicited_mailbox:
1-peers.peer.host_dynamic: True
1-peers.peer.subscribecontext:
1-peers.peer.useragent: Blink 1.4.2 (Linux)
...
</pre>
==== Error ====
==== Error ====
<pre>
<pre>
Line 1,564: Line 1,610:
EventList: start
EventList: start
Message: Extension Statuses will follow
Message: Extension Statuses will follow
Event: ExtensionStatus
Exten: 1000
Context: demo
Hint: SIP/1000
Status: 4
StatusText: Unavailable
Event: ExtensionStatus
Exten: 1001
Context: demo
Hint: SIP/1001
Status: 4
StatusText: Unavailable
Event: ExtensionStatus
Exten: 1234
Context: default
Hint: SIP/1234
Status: 4
StatusText: Unavailable


Event: ExtensionStateListComplete
Event: ExtensionStateListComplete
EventList: Complete
EventList: Complete
ListItems: 0
ListItems: 3
</pre>
</pre>


Line 1,703: Line 1,770:
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Filter
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Filter


== Login ==
== GetConfig ==
AMI login 을 한다.
Retrieve configuration.
 
This action will dump the contents of a configuration file by category and contents or optionally by specified category only. In the case where a category name is non-unique, a filter may be specified to match only categories with matching variable values.
<pre>
<pre>
Action: Login
Action: GetConfig
ActionID: <value>
ActionID: <value>
Username: <value>
Filename: <value>
Secret: <value>
Category: <value>
Filter: <value>
</pre>
</pre>
* Username : Access Username. manager.conf 에 설정되어 있다.
* ActionID
* Secret : Password. manager.conf 에 설정되어 있다.
* Filename : Configuration filename(e.g. foo.conf)
* Category : Category in configuration file.
* Filter : A comma separated list of name_regex=value_regex expressions which will cause only categories whose variables match all expressions to be considered. The special variable name TEMPLATES can be used to control whether templates are included. Passing include as the value will include templates along with normal categories. Passing restrict as the value will restrict the operation to ONLY templates. Not specifying a TEMPLATES expression result in the default behavior which is to not include templates.


=== Example ===
=== Example ===
<pre>
<pre>
$ telnet localhost 5038
Action: GetConfig
Trying ::1...
Filename: queues.conf
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/2.8.0
 
Action: login
username: test
secret: test


Response: Success
Response: Success
Message: Authentication accepted
Category-000000: general
Line-000000-000000: persistentmembers=yes
Line-000000-000001: monitor-type=MixMonitor
Category-000001: sales_1
Line-000001-000000: musicclass=default
Line-000001-000001: strategy=ringall
Line-000001-000002: joinempty=yes
</pre>
</pre>


== Logoff ==
=== See also ===
AMI logoff 를 한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfigJSON
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UpdateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_CreateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ListCategories
 
== GetConfigJSON ==
지정한 Configuration 파일 내용은 JSON 형식으로 나타낸다.
 
Retrieve configuration (JSON format).
 
This action will dump the contents of a configuration file by category and contents in JSON format or optionally by specified category only. This only makes sense to be used using rawman over the HTTP interface. In the case where a category name is non-unique, a filter may be specified to match only categories with matching variable values.
<pre>
<pre>
Action: Logoff
Action: GetConfigJSON
ActionID: <value>
ActionID: <value>
Filename: <value>
Category: <value>
Filter: <value>
</pre>
</pre>
* ActionID
* Filename : Configuration filename(e.g. foo.conf)
* Category : Category in cofiguration file.
* Filter : A comma separated list of name_regex=value_regex expressions which will cause only categories whose variables match all expressions to be considered. The special variable name TEMPLATES can be used to control whether templates are included. Passing include as the value will include templates along with normal categories. Passing restrict as the value will restrict the operation to ONLY templates. not specifying a TEMPLATES expression results in the default behavior which is to not include templates.


=== Example ===
=== Example ===
<pre>
<pre>
Action: Logoff
Action: GetConfigJSON
ActionID: logofftest
Filename: queues.conf


Response: Goodbye
Response: Success
ActionID: logofftest
JSON: {"general":{"persistentmembers":"yes","monitor-type":"MixMonitor"},"sales_1":{"musicclass":"default","strategy":"ringall","joinempty":"yes"}}
Message: Thanks for all the fish.
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfigJSON
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UpdateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_CreateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ListCategories
 
== GetVar ==
지정한 Variable 의 값을 확인한다. 만약 채널을 지정하지 않을 경우, global variable 로 간주한다.
 
Gets the value of a channel variable or function return.
: If a channel name is not provided then the variable is considered global.
<pre>
Action: Getvar
ActionID: <value>
Channel: <value>
Variable: <value>
</pre>
* ActionID
* Channel : Channel to read variable from.
* Variable : Variable name, function or expression.
 
=== Example ===
<pre>
Action: GetVar
Variable: CONSOLE
 
Response: Success
Variable: CONSOLE
Value: Console/dsp
</pre>
</pre>
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Getvar
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Setvar


== Hangup ==
== Hangup ==
Line 1,759: Line 1,882:
: Example exact channel: SIP/provider-0000012a
: Example exact channel: SIP/provider-0000012a
: Example regular expression: /^SIP/provider-.*$/
: Example regular expression: /^SIP/provider-.*$/
* Cause : 채널 종료 사유(숫자)
* Cause : 채널 종료 사유(숫자). 자세한 Cause 종류와 내용은 [[Asterisk_code]] 참조.


=== Hangup causes ===
=== Example ===
==== Normal ====
<pre>
<pre>
#define AST_CAUSE_UNALLOCATED                    1
Action: Hangup
#define AST_CAUSE_NO_ROUTE_TRANSIT_NET          2
Channel: SIP/300-00000000
#define AST_CAUSE_NO_ROUTE_DESTINATION          3
Cause: 16
#define AST_CAUSE_MISDIALLED_TRUNK_PREFIX        5
 
#define AST_CAUSE_CHANNEL_UNACCEPTABLE          6
Response: Success
#define AST_CAUSE_CALL_AWARDED_DELIVERED        7
Message: Channel Hungup
#define AST_CAUSE_PRE_EMPTED                    8
#define AST_CAUSE_NUMBER_PORTED_NOT_HERE        14
#define AST_CAUSE_NORMAL_CLEARING              16
#define AST_CAUSE_USER_BUSY                    17
#define AST_CAUSE_NO_USER_RESPONSE              18
#define AST_CAUSE_NO_ANSWER                    19
#define AST_CAUSE_SUBSCRIBER_ABSENT            20
#define AST_CAUSE_CALL_REJECTED                21
#define AST_CAUSE_NUMBER_CHANGED                22
#define AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23
#define AST_CAUSE_ANSWERED_ELSEWHERE            26
#define AST_CAUSE_DESTINATION_OUT_OF_ORDER      27
#define AST_CAUSE_INVALID_NUMBER_FORMAT        28
#define AST_CAUSE_FACILITY_REJECTED            29
#define AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY    30
#define AST_CAUSE_NORMAL_UNSPECIFIED            31
#define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION    34
#define AST_CAUSE_NETWORK_OUT_OF_ORDER          38
#define AST_CAUSE_NORMAL_TEMPORARY_FAILURE      41
#define AST_CAUSE_SWITCH_CONGESTION            42
#define AST_CAUSE_ACCESS_INFO_DISCARDED        43
#define AST_CAUSE_REQUESTED_CHAN_UNAVAIL        44
#define AST_CAUSE_FACILITY_NOT_SUBSCRIBED      50
#define AST_CAUSE_OUTGOING_CALL_BARRED          52
#define AST_CAUSE_INCOMING_CALL_BARRED          54
#define AST_CAUSE_BEARERCAPABILITY_NOTAUTH      57
#define AST_CAUSE_BEARERCAPABILITY_NOTAVAIL    58
#define AST_CAUSE_BEARERCAPABILITY_NOTIMPL      65
#define AST_CAUSE_CHAN_NOT_IMPLEMENTED          66
#define AST_CAUSE_FACILITY_NOT_IMPLEMENTED      69
#define AST_CAUSE_INVALID_CALL_REFERENCE        81
#define AST_CAUSE_INCOMPATIBLE_DESTINATION      88
#define AST_CAUSE_INVALID_MSG_UNSPECIFIED      95
#define AST_CAUSE_MANDATORY_IE_MISSING          96
#define AST_CAUSE_MESSAGE_TYPE_NONEXIST        97
#define AST_CAUSE_WRONG_MESSAGE                98
#define AST_CAUSE_IE_NONEXIST                  99
#define AST_CAUSE_INVALID_IE_CONTENTS          100
#define AST_CAUSE_WRONG_CALL_STATE            101
#define AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE    102
#define AST_CAUSE_MANDATORY_IE_LENGTH_ERROR    103
#define AST_CAUSE_PROTOCOL_ERROR              111
#define AST_CAUSE_INTERWORKING                127


/* Special Asterisk aliases */
...
#define AST_CAUSE_BUSY          AST_CAUSE_USER_BUSY
#define AST_CAUSE_FAILURE      AST_CAUSE_NETWORK_OUT_OF_ORDER
#define AST_CAUSE_NORMAL        AST_CAUSE_NORMAL_CLEARING
#define AST_CAUSE_NOANSWER      AST_CAUSE_NO_ANSWER
#define AST_CAUSE_CONGESTION    AST_CAUSE_NORMAL_CIRCUIT_CONGESTION
#define AST_CAUSE_UNREGISTERED  AST_CAUSE_SUBSCRIBER_ABSENT
#define AST_CAUSE_NOTDEFINED    0
#define AST_CAUSE_NOSUCHDRIVER  AST_CAUSE_CHAN_NOT_IMPLEMENTED
</pre>


== Monitor ==
Event: Hangup
채널을 모니터링 한다. 모니터링되는 채널은 in/out 오디로가 녹음되며, 녹음된 파일의 Default 디렉토리는 (/var/spool/asterisk/monitor) 이다.
Privilege: call,all
<pre>
Channel: SIP/300-00000000
pchero@pluto:/var/spool/asterisk/monitor $ ls -tlr
ChannelState: 6
total 408
ChannelStateDesc: Up
-rw-r--r-- 1 root root 206764 Dec 16 09:26 SIP-300-00000000-out.wav
CallerIDNum: 300
-rw-r--r-- 1 root root 206444 Dec 16 09:26 SIP-300-00000000-in.wav
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: sample_musiconhold
Exten: s
Priority: 3
Uniqueid: 1484558265.0
Linkedid: 1484558265.0
Cause: 16
Cause-txt: Normal Clearing
</pre>
</pre>


This action may be used to record the audio on a specified channel.
==== Hangup request without cause code ====
<pre>
<pre>
Action: Monitor
Action: Hangup
ActionID: <value>
Channel: SIP/300-00000001
Channel: <value>
 
File: <value>
Response: Success
Format: <value>
Message: Channel Hungup
Mix: <value>
</pre>
* ActionID
* Channel : Used to specify the channel to record.
* File : Is the name of the file created in the monitor spool directory. Defaults to the same name as the channel(with  slashed replaced with dashes).
* Format : Is the audio recording format. Defaults to wav.
* Mix : 하나의 파일에 input/output 데이터를 모두 write 할 지를 설정한다(Default : false). Boolean parameter as to whether to mix the input and output channels together after the recording is finished.


=== Example ===
...
 
Event: Hangup
Privilege: call,all
Channel: SIP/300-00000001
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: sample_musiconhold
Exten: s
Priority: 3
Uniqueid: 1484558362.2
Linkedid: 1484558362.2
Cause: 0
Cause-txt: Unknown
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Hangup
 
== IAXnetstats ==
Show IAX Netstats.
 
Show IAX channels network statistics.
<pre>
<pre>
Action: Monitor
Action: IAXnetstats
Channel: SIP/300-00000000
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_IAXnetstats
 
== IAXpeerlist ==
모든 IAX peer 정보를 표시한다.


Response: Success
List IAX Peers.
Message: Started monitoring channel
<pre>
Action: IAXpeerlist
ActionID: <value>
</pre>
</pre>
* ActionID


=== See also ===
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Monitor
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_IAXpeerlist


== Originate ==
== IAXpeers ==
발신을 한다.
List IAX peers.
<pre>
<pre>
Action: Originate
Action: IAXpeers
ActionID: <value>
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>
</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. "CallerIDName"<CallerIdNum> 의 형식으로 name 과 number 의 설정이 가능하다<ref>http://www.voip-info.org/wiki/view/Setting+Callerid</ref>
* Variable : 채널 헤더에 설정될 임의 변수 값. 다중의 채널 헤더 변수 값 설정 가능.
* Account  : Account code
* EalryMedia : true 설정시, 강제로 early media 로 연결되게 된다.
* Async : true 설정시, 곧바로 발신 성공값을 리턴한다.
* Codecs : 발신에 사용될 코덱 지정. 콤마로 구분자로 여러개의 값을 지정할 수 있다.
* ChannelId : 채널에 설정될 유니크 아이디 값.
* OtherChannelId : 다른쪽 로컬 채널에 설정될 유니크 아이디 값.


=== Example ===
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_IAXpeers
 
== IAXregistry ==
Show IAX registrations.
<pre>
<pre>
Action: Originate
Action: IAXregistry
ActionId: 1112
ActionID: <value>
Channel: sip/300
</pre>
Application: park
* ActionID
Async: 1
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_IAXregistry


Response: Success
== JabberSend ==
ActionID: 1112
Sends a message to a Jabber Client. (res_xmpp)
Message: Originate successfully queued
<pre>
Action: JabberSend
ActionID: <value>
Jabber: <value>
JID: <value>
Message: <value>
</pre>
</pre>
* ActionID
* Jabber : Client or transport Asterisk uses to connect to JABBER.
* JID : XMPP/Jabber (name) of recipient.
* Message : Message to be sent to the buddy.
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_JabberSend_res_xmpp


== Park ==
== ListCategories ==
List categories in configuration file.
 
This action will dump the categories in a given file.
<pre>
<pre>
Action: Park
Action: ListCategories
ActionID: <value>
ActionID: <value>
Channel: <value>
Filename: <value>
[TimeoutChannel:] <value>
[AnnounceChannel:] <value>
[Timeout:] <value>
[Parkinglot:] <value>
</pre>
</pre>
* ActionID - Action ID for this transaction. Will be returned.
* ActionID
* Channel - Channel name to park.
* Filename : Configuration filename(e.g. foo.conf)
* TimeoutChannel - Channel name to use when constructing the dial string that will be dialed if the parked channel times out. If TimeoutChannel is in a two party bridge with channel, then TimeoutChannel will receive an announcement and be treated as having parked Channel in the same manner as the Park Call DTMF feature.
* AnnounceChannel - If specified, then this channel will receive an announcement when Channel is parked if AnnounceChannel is in a state where it can receive announcements(AnnounceChannel must be bridged). AnnounceChannel has no bearing on the actual state of the parked call.
* Timeout - Overrides the timeout of the parking lot for this park action. Specified in milliseconds, but will be converted to seconds. Use a value of 0 to disable the timeout.
* Parkinglot - The parking lot to use when parking the channel.


=== Example ===
=== Example ===
<pre>
<pre>
Action: park
Action: ListCategories
Channel: SIP/300-00000013
Filename: sip.conf


Response: Success
Response: Success
Message: Park successful
Category-000000: general
Category-000001: authentication
Category-000002: agent-01
Category-000003: agent-02
Category-000004: agent-03
Category-000005: client-01
Category-000006: client-02
Category-000007: client-03
Category-000008: 200
Category-000009: 201
Category-000010: 202
Category-000011: 300
Category-000012: 301
Category-000013: 302
</pre>
</pre>


== ParkedCalls ==
=== See also ===
해당 parking lot 에 대기중인 콜들의 정보를 요청한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ListCategories
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfigJSON
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UpdateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_CreateConfig
 
== ListCommands ==
현재 접속중인 계정으로 사용가능한 모든 AMI action 명령어 목록을 보여준다.
 
List available manager commands.
 
Returns the action name and synopsis for every action that is available to the user.
<pre>
<pre>
Action: ParkedCalls
Action: ListCommands
ActionID: <value>
ActionID: <value>
ParkingLot: <value>
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* ActionID
* ParkingLot - If specified, only show parked calls from the parking lot with this name.


== Parkinglots ==
=== Example ===
현재 등록되어 있는 모든 parking lot 정보를 요청한다.
<pre>
<pre>
Action: Parkinglots
Action: ListCommands
ActionID: <value>
 
Response: Success
AbsoluteTimeout: Set absolute timeout.  (Priv: system,call,all)
AgentLogoff: Sets an agent as no longer logged in.  (Priv: agent,all)
...
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.


== QueueStatus ==
=== See also ===
Queue/Member(Channel) 의 현재 상태 정보를 확인한다. 입력된 Queue/Member(Channel) 항목이 없다면 현재 활성화된 전체 Queue/Member(Channel) 의 상태 정보를 리턴한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ListCommands
 
== LocalOptimizeAway ==
Optimize away a local channel when possible.
 
A local channel created with "/n" will not automatically optimize away. Calling this command on the local channel will clear that flag and allow it to optimize away if it's bridged or when it becomes bridged.
<pre>
<pre>
Action: QueueStatus
Action: LocalOptimizeAway
ActionID: <value>
ActionID: <value>
Queue: <value>
Channel: <value>
Member: <value>
</pre>
</pre>
* Queue - 확인하고자 하는 Queue name.
* ActionID
* Member - 확인하고자 하는 멤버(Channel) 이름
* Channel : The channel name to optimize away.
 
=== Example ===
==== Error ====
<pre>
Action: LocalOptimizeAway
Channel: SIP/300-00000002
 
Response: Error
Message: Unable to find channel
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_LocalOptimizeAway
 
== LoggerRotate ==
Reload and rotate the Asterisk logger.
 
Reload and rotate the logger. Analogous to the CLI command "logger rotate".
<pre>
Action: LoggerRotate
ActionID: <value>
</pre>
* ActionID


=== Example ===
=== Example ===
<pre>
<pre>
Action: QueueStatus
Action: LoggerRotate
Queue: Camp200
ActionID: 001


Response: Success
Response: Success
ActionID: 001
Message: Reloaded the logger and rotated log files
Message: Queue status will follow
</pre>


Event: QueueParams
=== See also ===
Queue: Camp200
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_LoggerRotate
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
== Login ==
Queue: Camp200
AMI login 을 한다.
Name: user1
<pre>
Location: Local/200@DialCamp
Action: Login
Membership: static
ActionID: <value>
Penalty: 0
Username: <value>
CallsTaken: 0
Secret: <value>
LastCall: 0
</pre>
Status: 5
* Username : Access Username. manager.conf 에 설정되어 있다.
Paused: 0
* Secret : Password. manager.conf 에 설정되어 있다.
ActionID: 001


Event: QueueEntry
=== Example ===
Queue: Camp200
<pre>
Position: 1
$ telnet localhost 5038
Channel: SIP/test-201-00000001
Trying ::1...
Uniqueid: 1447837150.7
Trying 127.0.0.1...
CallerIDNum: 201
Connected to localhost.
CallerIDName: user 2
Escape character is '^]'.
ConnectedLineNum: unknown
Asterisk Call Manager/2.8.0
ConnectedLineName: unknown
 
Wait: 16
Action: login
username: test
secret: test


Event: QueueStatusComplete
Response: Success
ActionID: 001
Message: Authentication accepted
</pre>
</pre>
- QueueParam 정보
* Event - 메시지 타입. QueueParam:Queue 정보, QueueMember:Queue에 속해있는 member 정보, QueueEntry:Queue에서 대기중인 콜 정보.
* 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 정보
=== See also ===
* Event - 메시지 타입. QueueParam:Queue 정보, QueueMember:Queue에 속해있는 member 정보, QueueEntry:Queue에서 대기중인 콜 정보.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Login
* Queue - Queue name
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Logoff
* 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).
** dynamic - 동적 등록. AMI, Dialplan 등으로 등록된 방식.
** static - 정적 등록. queues.conf 에 명시적으로 등록하여 등록된 방식.
** static -
* Penalty - 패널티 정보(높은 패널티를 가지게 되면 상대적으로 콜을 분배받기 어려워진다.)
* CallsTaken - 분배받은 콜의 숫자
* LastCall - 마지막으로 받은 콜의 시간. Unix 타임을 사용한다.
* Paused - Paused 여부. (1:Paused 상태, 0:Normal 상태)


- QueueEntry 정보
== Logoff ==
* Event - 메시지 타입. QueueParam:Queue 정보, QueueMember:Queue에 속해있는 member 정보, QueueEntry:Queue에서 대기중인 콜 정보.
AMI logoff 를 한다.
* Queue - Queue name
* Position - Priority number of entry from the queue.
* Channel - Channel name
* Uniqueid - Unique id of Asterisk
* CallerIDNum - Caller's number
* CallerIDName - Caller's name
* ConnectedLineNum - 현재 이 콜과 연결된(통화중인) number
* ConnectedLineName - 현재 이 콜과 연결된(통화중인) name
* Wait - 이 큐에서 대기한 시간(초)
 
== QueueSummary ==
Queue의 간략 상태를 표시한다.
<pre>
<pre>
Action: QueueSummary
Action: Logoff
ActionID: <value>
ActionID: <value>
Queue: <value>
</pre>
</pre>
* Queue : Queue name


=== Example ===
=== Example ===
<pre>
<pre>
Action: QueueSummary
Action: Logoff
Queue: Camp200
ActionID: logofftest


Response: Success
Response: Goodbye
Message: Queue summary will follow
ActionID: logofftest
Message: Thanks for all the fish.
</pre>


Event: QueueSummary
=== See also ===
Queue: Camp200
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Logoff
LoggedIn: 1
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Login
Available: 1
 
Callers: 0
== MailboxCount ==
HoldTime: 0
음성사서함에 저장된 메시지 갯수를 확인한다.
TalkTime: 3
LongestHoldTime: 0


Event: QueueSummaryComplete
Check Mailbox Message Count.
</pre>
* LoggedIn : 현재 로그인(활성화)되어 있는 멤버(Channel) 갯수
* Available : 현재 대기중인 멤버(Channel) 갯수
* Callers : 현재 큐에 인입되어 대기중인 콜 갯수
* HoldTime : 콜이 큐에 인입되어 분배되기 까지의 평균 대기 시간
* TalkTime : 콜이 큐에 인입되어 분배되고 난 후의 평균 통화 시간
* LongestHoldTime : 큐에서 가장 오래 대기한 콜의 대기시간.


== QueuePenalty ==
Checks a voicemail account for new messages. Returns number of urgent, new and old messages.
큐 멤버의 패널티를 설정한다.
<pre>
<pre>
Action: QueuePenalty
Action: MailboxCount
ActionID: <value>
ActionID: <value>
Interface: <value>
Mailbox: <value>
Penalty: <value>
Queue: <value>
</pre>
</pre>
* Interface : 패널티를 수정하고자 하는 멤버(Channel) 이름(tech/name).
* Mailbox : Full mailbox ID. mailbox@vm-context.
* Penalty : 설정하고자 하는 패널티 값. 단, 음수를 설정할수는 없다.
* Queue : 패널티를 설정하고자하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 패널티 값을 수정하게 된다.


== QueuePause ==
=== Example ===
큐에 설정된 멤버(Channel)을 일시적 사용불가/사용가능 상태로 변경한다.
<pre>
<pre>
Action: QueuePause
Action: MailboxCount
ActionID: <value>
Mailbox: 6001@vm-demo
Interface: <value>
 
Paused: <value>
Response: Success
Queue: <value>
Message: Mailbox Message Count
Reason: <value>
Mailbox: 6001@vm-demo
UrgMessages: 0
NewMessages: 2
OldMessages: 1
</pre>
</pre>
* Interface : 사용가능/불가 상태로 지정하고자 하는 채널 혹은 인터페이스(tech/name)
* Paused : "true": 사용불가, "false" : 사용가능
* Queue : paused/unpaused 하고자 하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 paused/unpaused 를 하게 된다.
* Reason : Description. QueueMemberPaused 이벤트에 설정되게 된다.


== QueueReload ==
=== See also ===
Queue를 reload한다. 하나 혹은 다수 Queue 또는 큐의 하위 섹션들을 reload 한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MailboxCount
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MailboxStatus
 
== MailboxStatus ==
Check mailbox.
 
Checks a voicemail account for status. Returns whether there are messages waiting.
<pre>
<pre>
Action: QueueReload
Action: MailboxStatus
ActionID: <value>
ActionID: <value>
Queue: <value>
Mailbox: <value>
Members: <value>
Rules: <value>
Parameters: <value>
</pre>
</pre>
* Queue : reload 하고자 하는 큐 이름. 만약 지정하지 않으면, 모든 큐에 대해 reload가 수행된다.
* ActionID
* Members : Queue 의 멤버들의 reload 여부. (yes|no)
* Mailbox : Full mailbox ID. mailbox@vm-context.
* Rules : queuerules.conf 파일의 reload 여부. (yes|no)
* Parameters : 다른 Queue 옵션들의 reload 여부. (yes|no)


== QueueAdd ==
=== Example ===
<pre>
<pre>
Action: QueueAdd
Action: MailboxStatus
ActionID: <value>
Mailbox: 6001@vm-demo
Queue: <value>
 
Interface: <value>
Response: Success
Penalty: <value>
Message: Mailbox Status
Paused: <value>
Mailbox: 6001@vm-demo
MemberName: <value>
Waiting: 1
StateInterface: <value>
</pre>
</pre>
* Queue : Queue name
* Interface : Queue에 추가하고자 하는 멤버(Channel) 이름(tech/name).
* Penalty : 초기 설정 Penalty 값
* Paused : Paused 설정(true/false 혹은 1/0)
* MemberName : Interface 별명.
* StateInterface : 멤버 State 를 받아오는 device 혹은 Channel 정보.


== QueueRemove ==
=== See also ===
Queue 에서 해당 멤버(Channel)를 삭제한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MailboxStatus
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MailboxCount
 
== MeetmeList ==
List participants in a conference.
 
Lists all users in a particular MeetMe conference. MeetmeList will follow as separate events, followed by a final event called MeetmeListComplete.
<pre>
<pre>
Action: QueueRemove
Action: MeetmeList
ActionID: <value>
ActionID: <value>
Queue: <value>
[Conference:] <value>
Interface: <value>
</pre>
</pre>
* Queue : Queue name
* ActionID
* Interface : 삭제하고자 하는 멤버(Channel) 이름(tech/name)
* Conference : Conference number
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MeetmeList
 
== MeetmeListRooms ==
List active conference.


== QueueReset ==
Lists data about all active conferences. MeetmeListRooms will follow as separate events, followed by a final event MeetmeListRoomsComplete.
Queue 관련 통계를 초기화한다.
<pre>
<pre>
Action: QueueReset
Action: MeetmeListRooms
ActionID: <value>
ActionID: <value>
Queue: <value>
</pre>
</pre>
* Queue : Queue name
* ActionID
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MeetmeListRooms


== QueueRule ==
== MeetmeMute ==
queuerules.conf 에 설정된 Queue Rule 을 보여준다.
Mute a Meetme user.
<pre>
<pre>
Action: QueueRule
Action: MeetmeMute
ActionID: <value>
ActionID: <value>
Rule: <value>
Meetme: <value>
Usernum: <value>
</pre>
</pre>
* Rule : queuerules.conf 파일에 설정되어 있는 Rule 이름.
* ActionID
* Meetme
* Usernum
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MeetmeMute


== Redirect ==
== MeetmeUnmute ==
채널을 다른곳으로 redirect(transfer)한다. 즉, 채널 넘겨주기.
Unmute a Meetme user.
<pre>
<pre>
Action: Redirect
Action: MeetmeUnmute
ActionID: <value>
ActionID: <value>
Channel: <value>
Meetme: <value>
Exten: <value>
Usernum: <value>
Context: <value>
Priority: <value>
ExtraChannel: <value>
ExtraExten: <value>
ExtraContext: <value>
ExtraPriority: <value>
</pre>
</pre>
* Channel - 넘겨주고자 하는 채널.
* ActionID
* Exten - 채널을 넘겨받게 되는 Extension.
* Meetme
* Context - 넘겨받게 되는 Context.
* Usernum
* Priority - 념겨받게 되는 채널의 Priority.
* ExtraChannel -추가로 같이 넘겨주고자 하는 채널(optional).
* ExtraExten - ExtraChannel 을 넘겨받게 되는 Extension(optional).
* ExtraContext - ExtraChannel 을 넘겨받게 되는 Context(optional).
* ExtraPriority - 넘겨받게 되는 ExtraChannel 의 Priority(optional).


== SendText ==
=== See also ===
Send text message to channel.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MeetmeUnmute


Sends A Text Message to a channel while in a call.
== MessageSend ==
Send an out of call message to an endpoint.
<pre>
<pre>
Action: SendText
Action: MessageSend
ActionID: <value>
ActionID: <value>
Channel: <value>
To: <value>
Message: <value>
From: <value>
Body: <value>
Base64Body: <value>
Variable: <value>
</pre>
</pre>
* ActionID
* ActionID
* Channel : Channel to send message to.
* To : The URI the message is to be sent to.
* Message : Message to send.
: Technology : PJSIP - Specifying a prefix of pjsip. Will send the message as a SIP MESSAGE request.
: Technology : SIP - Specifying a prefix of sip. Will send the message as a SIP MESSAGE request.
: Technology : XMPP - Specifying a prefix of xmpp. Will send the message as an XMPP chat message.
* From : A from URI for the message if needed for the message technology being used to send this message.
: Technology : PJSIP - The from parameter can be a configured endpoint or in the form of "display-name" <URI>.
: Technology : SIP - The from parameter can be a configured endpoint or in the form of "display-name" <URI>.
: Technology : XMPP - Specifying a prefix of xmpp. Will specify the account defined in xmpp.conf to send the message form. Note that this field is required for XMPP messages.
* Body : The message body text. This must not contain any newlines as that conflicts with the AMI protocol.
* Base64Body : Text bodies requiring the use of newlines have to be base 64 encoded in this field. Base64Body will be encoded before being sent out. Base64Body takes precedence over Body.
* Variable : Message variable to set, multiple Variable: headers are allowed. The header value is a comma separated list of name=value pairs.


Asterisk 에는 메시지 수신을 위한 ReceiveText 가 없다. 하지만 AGI 를 이용하면 메시지 수신이 가능하다.
=== Example ===
==== Normal ====
<pre>
<pre>
print STDERR "1. Testing 'sendtext'...";
Action: MessageSend
print "SEND TEXT \"hello world\"\n";
To: sip:agent-01@pluto.pchero21.com:5060
my $result = <STDIN>;
Body: Test message
&checkresult($result);


print STDERR "2. Receiving Text 'receivetext'...";
Response: Success
print "RECEIVE TEXT 3000\n";
Message: Message successfully sent
my $result = <STDIN>;
&checkresult($result);
</pre>
</pre>


=== Example ===
==== Error ====
<pre>
<pre>
Action: SendText
Action: MessageSend
Channel: SIP/300-00000003
To: agent-01@pluto.pchero21.com:5060
Message: Test message
Body: Test message


Response: Success
Response: Error
Message: Success
Message: Message technology not found.
</pre>
</pre>


=== See also ===
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SendText
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MessageSend
* http://www.voip-info.org/wiki/view/Asterisk+cmd+SendText
 
== MixMonitor ==
Record a call end mix the audio during the recording. Use of StopMixMonitor is required to guarantee the audio file is available for processing during dialplan execution.


== SIPnotify ==
This action records the audio on the current channel to the specified file.
: MIXMONITOR_FILENAME : Will contain the filename used to record the mixed stream.
<pre>
<pre>
Action: SIPnotify
Action: MixMonitor
ActionID: <value>
ActionID: <value>
Channel: <value>
Channel: <value>
Variable: <value>
File: <value>
options: <value>
Command: <value>
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* ActionID
* Channel - Peer to receive the notify.
* Channel : Used to specify the channel to record.
* Variable - At least one variable pair must be specified. name=value
* File : The name of the file created in the monitor spool directory. Defaults to the same name as the channel(with slashes replaced with dashes). This argument is optional if you specify to record unidirectional audio with either the r(filename) or t(filename) options in the options field. If neither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't be recorded.
* options : Options that apply to the MixMonitor in the same way as they would apply if invoked from the MixMonitor application. For a list of available options, see the documentation for the mixmonitor application.
* Command : Will be executed when the recording is over. Any string matching ^{X} will be unescaped to X. All variables will be evaluated at the time MixMonitor is called.


== SIPpeers ==
=== Example ===
현재 등록되어 있는 모든 SIP peer 를 보여준다.
<pre>
<pre>
Action: SIPpeers
Action: MixMonitor
ActionID: <value>
Channel: SIP/agent-01-00000009
File: test_record
 
Response: Success
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.


== SIPpeerstatus ==
=== See also ===
지정된 SIP peer 의 status 를 확인한다.
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MixMonitor
 
== MixMonitorMute ==
Mixmonitor 중인 채널의 음소거 혹은 음소거 해제를 한다.


만약 SIP peer 를 지정하지 않을 경우, 모든 SIP peer 의 status 를 돌려준다.  
Recording 뿐만 아니라, 통화에서도 음소거/음소거 해제가 된다.


정상적인 sip peer status 를 확인하기 위해서는 sip.conf 에서 해당 peer 의 설정에 qualify=yes 옵션을 설정해주어야 한다. 만약 qualify=yes 옵션을 설정하지 않을 경우, status 는 "Unmonitored" 라고 표시된다.
Mute/unMute a Mixmonitor recording.


This action may be used to mute a MixMonitor recording.
<pre>
<pre>
Action: SIPpeerstatus
Action: MixMonitorMute
ActionID: <value>
ActionID: <value>
[Peer:] <value>
Channel: <value>
Direction: <value>
State: <value>
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* ActionID
* Peer - The peer name you want to check.
* Channel : Used to specify the channel to mute.
* Direction : Which part of the recording to mute. read, write or both (from channel, to channel or both channels).
* State : Turn mute on or off. 1 to on, 0 to turn off.


=== Example ===
=== Example ===
* qualify 설정 전.
<pre>
<pre>
Action: SIPpeerstatus
Action: MixMonitorMute
Peer: SIP/300
Channel: SIP/agent-01-0000000a
Direction: both
State: 1


Response: Success
Response: Success
EventList: start
</pre>
Message: Peer status will follow
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MixMonitorMute
 
== ModuleCheck ==
모듈이 load 되어 있는지를 확인한다.


Event: PeerStatus
Check if module is loaded.
Privilege: System
ChannelType: SIP
Peer: SIP/300
PeerStatus: Unmonitored


Event: SIPpeerstatusComplete
Checks if Asterisk module is loaded. Will return Success/Failure. For Success returns, the module revision number is included.
EventList: Complete
<pre>
ListItems: 1
Action: ModuleCheck
ActionID: <value>
Module: <value>
</pre>
</pre>
* ActionID
* Module : Asterisk module name(not including extension).


* qualify 설정 후.
=== Example ===
==== Normal ====
<pre>
<pre>
Action: SIPpeerstatus
Action: ModuleCheck
Peer: SIP/300
Module: chan_sip


Response: Success
Response: Success
EventList: start
Version: Revision: 369792
Message: Peer status will follow
</pre>
 
==== Error ====
<pre>
Action: ModuleCheck
Module: chan_sip test


Event: PeerStatus
Response: Error
Privilege: System
Message: Module not loaded
ChannelType: SIP
</pre>
Peer: SIP/300
 
PeerStatus: Unknown
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ModuleCheck
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ModuleLoad


Event: SIPpeerstatusComplete
== ModuleLoad ==
EventList: Complete
Module management.
ListItems: 1
</pre>


== SIPqualifypeer ==
Loads, unloads or reloads an Asterisk module in a running system.
Qualify SIP peers.
<pre>
<pre>
Action: SIPqualifypeer
Action: ModuleLoad
ActionID: <value>
ActionID: <value>
Peer: <value>
Module: <value>
LoadType: <value>
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Action
* Peer - The peer name you want to qualify.
* Module : 모듈 이름 혹은 서브 시스템 구분자. 원문에는 .so 확장자까지 전부 입력해야 한다고 나와 있으나, 테스트 결과(Asterisk-1.8, Asterisk-14) 확장자는 없어도 상관 없었다. 아래에는 사용가능한 서브시스템 이름 목록들이다. Asterisk module name (including .so extension) or subsystem identifier.
: cdr
: dnsmgr
: extconfig
: enum
: acl
: manager
: http
: logger
: features
: dsp
: udptl
: indications
: cel
: plc
* LoadType : The operation to be done on module. Subsystem identifiers may only be reloaded. If no module is specified for a r
: load : 지정된 모듈을 load 한다.
: unload : 지정된 모듈을 unreload 한다.
: reload : 지정된 모듈을 reload 한다. 만약 지정된 모듈이 없을 경우, 모든 모듈을 reload 한다.


=== Example ===
=== Example ===
==== Normal subsystem ====
<pre>
<pre>
Action: SIPqualifypeer
Action: ModuleLoad
Peer: 300
Module: cdr
LoadType: reload


Response: Success
Response: Success
Message: SIP peer found - will qualify
Message: Module reloaded.
 
Event: SIPQualifyPeerDone
Privilege: call,all
Peer: 300
</pre>
</pre>


== SIPshowpeer ==
==== Normal module name ====
Show one SIP peer with details on current status.
<pre>
<pre>
Action: SIPshowpeer
Action: ModuleLoad
ActionID: <value>
Module: chan_sip
Peer: <value>
LoadType: reload
 
Response: Success
Message: Module reloaded.
</pre>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Peer - The peer name you want to check.


== Sipshowregistry ==
==== Error ====
현재 등록된 SIP registry 목록을 보여준다.
<pre>
Action: ModuleLoad
Module: chan_sip_test
LoadType: reload
 
Response: Error
Message: No such module.
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ModuleLoad
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Reload
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ModuleCheck
 
== Monitor ==
채널을 모니터링 한다. 모니터링되는 채널은 in/out 오디로가 녹음되며, 녹음된 파일의 Default 디렉토리는 (/var/spool/asterisk/monitor) 이다.
<pre>
pchero@pluto:/var/spool/asterisk/monitor $ ls -tlr
total 408
-rw-r--r-- 1 root root 206764 Dec 16 09:26 SIP-300-00000000-out.wav
-rw-r--r-- 1 root root 206444 Dec 16 09:26 SIP-300-00000000-in.wav
</pre>
 
This action may be used to record the audio on a specified channel.
<pre>
<pre>
Action: SIPshowregistry
Action: Monitor
ActionID: <value>
ActionID: <value>
Channel: <value>
File: <value>
Format: <value>
Mix: <value>
</pre>
</pre>
* ActionID
* Channel : Used to specify the channel to record.
* File : Is the name of the file created in the monitor spool directory. Defaults to the same name as the channel(with  slashed replaced with dashes).
* Format : Is the audio recording format. Defaults to wav.
* Mix : 하나의 파일에 input/output 데이터를 모두 write 할 지를 설정한다(Default : false). Boolean parameter as to whether to mix the input and output channels together after the recording is finished.


'''Example'''
=== Example ===
<pre>
<pre>
Action: SIPshowregistry
Action: Monitor
Channel: SIP/300-00000000


Response: Success
Response: Success
EventList: start
Message: Started monitoring channel
Message: Registrations will follow
</pre>


Event: RegistryEntry
=== See also ===
Host: 192.168.100.10
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Monitor
Port: 5060
Username: test_register
Domain: 192.168.100.10
DomainPort: 5060
Refresh: 105
State: Request Sent
RegistrationTime: 1447519599


Event: RegistrationsComplete
== MuteAudio ==
EventList: Complete
지정된 채널의 음소거를 on/off 한다.
ListItems: 1
</pre>


== Status ==
Mute an audio stream.
List channel status.


Will return the status information of each channel along with the value for the specified channel variables.
Mute an incoming or outgoing audio stream on a channel.
<pre>
<pre>
Action: Status
Action: MuteAudio
ActionID: <value>
ActionID: <value>
[Channel:] <value>
Channel: <value>
Variables: <value>
Direction: <value>
AllVariables: <value>
State: <value>
</pre>
</pre>
* ActionID
* ActionID
* Channel : The name of the channel to query for status.
* Channel : The channel you want to mute.
* Variables : Comma(,) separated list of variable to include.
* Direction 음소거를 하고자 하는 음성 방향.
* AllVariables : If set to "true", the Status event will include all channel variables for the requested channel(s).
: in : Set muting on inbound audio stream(to the PBX).
: true
: out : Set muting on outbound audio stream(from the PBX).
: false
: all : Set muting on inbound and outbound streams.
* State
: on : Turn muting on.
: off : Turn muting off.


=== Example ===
=== Example ===
==== Normal ====
<pre>
<pre>
Action: Status
Action: MuteAudio
AllVariables: true
Channel: SIP/300-00000000
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
Direction: all
State: on


Response: Success
Response: Success
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
</pre>
EventList: start
 
Message: Channel status will follow
==== Error state not specified ====
<pre>
Action: MuteAudio
Channel: SIP/300-00000000
 
Response: Error
Message: State not specified
</pre>
 
==== Error direction not specified ====
<pre>
Action: MuteAudio
Channel: SIP/300-00000000
State: on
 
Response: Error
Message: Direction not specified
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MuteAudio
 
== MWIDelete ==
Delete selected maiboxes.
<pre>
Action: MWIDelete
ActionID: <value>
Mailbox: <value>
</pre>
* ActionID
* Mailbox : Mailbox ID in the form of /regex/ for all mailboxes matching the regular expression. Otherwise it is for a specific mailbox.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MWIDelete


Event: Status
== MWIGet ==
Privilege: Call
Get selected mailboxes with message counts.
Channel: SIP/300-0000000c
<pre>
ChannelState: 6
Action: MWIGet
ChannelStateDesc: Up
ActionID: <value>
CallerIDNum: 300
Mailbox: <value>
CallerIDName: <unknown>
</pre>
ConnectedLineNum: <unknown>
* ActionID
* Mailbox : Mailbox ID in the form of /regex/ for all mailboxes matching the regular expression. Otherwise it is for a specific mailbox.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MWIGet
 
== MWIUpdate ==
Update the mailbox message counts.
<pre>
Action: MWIUpdate
ActionID: <value>
Mailbox: <value>
OldMessages: <value>
NewMessages: <value>
</pre>
* ActionID
* Mailbox : Specific mailbox ID.
* OldMessages : The number of old messages in the mailbox. Defaults to zero if missing.
* NewMessages : The number of new messages in the mailbox. Defaults to zero if missing.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_MWIUpdate
 
== 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. "CallerIDName"<CallerIdNum> 의 형식으로 name 과 number 의 설정이 가능하다<ref>http://www.voip-info.org/wiki/view/Setting+Callerid</ref>
* Variable : 채널 헤더에 설정될 임의 변수 값. 다중의 채널 헤더 변수 값 설정 가능.
* Account  : Account code
* EalryMedia : true 설정시, 강제로 early media 로 연결되게 된다.
* Async : true 설정시, 곧바로 발신 성공값을 리턴한다.
* Codecs : 발신에 사용될 코덱 지정. 콤마로 구분자로 여러개의 값을 지정할 수 있다.
* ChannelId : 채널에 설정될 유니크 아이디 값.
* OtherChannelId : 다른쪽 로컬 채널에 설정될 유니크 아이디 값.
 
=== Example ===
 
==== Normal with async ====
<pre>
Action: Originate
ActionId: 1112
Channel: sip/300
Application: park
Async: 1
 
Response: Success
ActionID: 1112
Message: Originate successfully queued
</pre>
 
==== Normal without async ====
<pre>
Action: Originate
Channel: sip/300
Application: park
 
Response: Success
Message: Originate successfully queued
</pre>
 
==== Error ====
<pre>
Action: Originate
Channel: wrong_tech/300
Application: park
 
Response: Error
Message: Originate failed
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Originate
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerEvent_OriginateResponse
 
== Park ==
<pre>
Action: Park
ActionID: <value>
Channel: <value>
[TimeoutChannel:] <value>
[AnnounceChannel:] <value>
[Timeout:] <value>
[Parkinglot:] <value>
</pre>
* ActionID - Action ID for this transaction. Will be returned.
* Channel - Channel name to park.
* TimeoutChannel - Channel name to use when constructing the dial string that will be dialed if the parked channel times out. If TimeoutChannel is in a two party bridge with channel, then TimeoutChannel will receive an announcement and be treated as having parked Channel in the same manner as the Park Call DTMF feature.
* AnnounceChannel - If specified, then this channel will receive an announcement when Channel is parked if AnnounceChannel is in a state where it can receive announcements(AnnounceChannel must be bridged). AnnounceChannel has no bearing on the actual state of the parked call.
* Timeout - Overrides the timeout of the parking lot for this park action. Specified in milliseconds, but will be converted to seconds. Use a value of 0 to disable the timeout.
* Parkinglot - The parking lot to use when parking the channel.
 
=== Example ===
<pre>
Action: park
Channel: SIP/300-00000013
 
Response: Success
Message: Park successful
</pre>
 
== ParkedCalls ==
해당 parking lot 에 대기중인 콜들의 정보를 요청한다.
<pre>
Action: ParkedCalls
ActionID: <value>
ParkingLot: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* ParkingLot - If specified, only show parked calls from the parking lot with this name.
 
=== Example ===
<pre>
Action: Parkedcalls
 
Response: Success
EventList: start
Message: Parked calls will follow
 
Event: ParkedCall
ParkeeChannel: SIP/300-00000000
ParkeeChannelState: 6
ParkeeChannelStateDesc: Up
ParkeeCallerIDNum: 300
ParkeeCallerIDName: 300@pluto.pchero21.com
ParkeeConnectedLineNum: <unknown>
ParkeeConnectedLineName: <unknown>
ParkeeLanguage: en
ParkeeAccountCode:
ParkeeContext: sample_park
ParkeeExten: s
ParkeePriority: 2
ParkeeUniqueid: 1491378491.0
ParkeeLinkedid: 1491378491.0
ParkerDialString: SIP/300
Parkinglot: default
ParkingSpace: 701
ParkingTimeout: 41
ParkingDuration: 4
 
Event: ParkedCallsComplete
EventList: Complete
ListItems: 1
Total: 1
</pre>
 
== Parkinglots ==
현재 등록되어 있는 모든 parking lot 정보를 요청한다.
<pre>
Action: Parkinglots
ActionID: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
 
=== Example ===
<pre>
Action: Parkinglots
 
Response: Success
EventList: start
Message: Parking lots will follow
 
Event: Parkinglot
Name: default
StartSpace: 701
StopSpace: 720
Timeout: 45
 
Event: ParkinglotsComplete
EventList: Complete
ListItems: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Parkinglots
 
== PauseMonitor ==
Pause monitoring of a channel.
 
This action may be used to temporarily stop the recording of a channel.
<pre>
Action: PauseMonitor
ActionID: <value>
Channel: <value>
</pre>
* Channel : Used to specify the channel to record.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PauseMonitor
 
== Ping ==
Keepalive command
 
A 'Ping' action will elicit a 'Pong' response. Used to keep the manager connection open.
<pre>
Action: Ping
ActionID: <value>
</pre>
 
=== Example ===
<pre>
Action: Ping
ActionID: f6db6704-6412-466f-bd0c-7fe06fe1acb7
 
Response: Success
ActionID: f6db6704-6412-466f-bd0c-7fe06fe1acb7
Ping: Pong
Timestamp: 1494854593.314921
</pre>
 
=== See also ===
https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Ping
 
== PJSIPNotify ==
Send a NOTIFY to either an endpoint or an arbitrary URI.
 
Sends a NOTIFY to an endpoint or an arbitrary URI. All parameters for this event must be specified in the body of this request via multiple Variable: name=value sequence.
: One (and only one) of Endpoint or URI must be specified. If URI is used, the default outbound endpoint will be used to send the message. If the default outbound endpoint isn't configured, this command can not send to an arbitrary URI.
<pre>
Action: PJSIPNotify
ActionID: <value>
[Endpoint:] <value>
[URI:] <value>
Variable: <value>
</pre>
* Endpoint : The endpoint to which to send the NOTIFY.
* URI : Arbitrary URI to which to send the NOTIFY.
* Variable : Appends variables as headers/content to the NOTIFY. If the variable is named Content, then the value will compose the body of the message if another variable sets Content-Type. name=value.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPNotify
 
== PJSIPQualify ==
Qualify a chan_pjsip endpoint.
<pre>
Action: PJSIPQualify
ActionID: <value>
Endpoint: <value>
</pre>
* Endpoint : The endpoint you want to qualify.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPQualify
 
== PJSIPRegister ==
Register an outbound registration.
 
Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations according to configuration.
<pre>
Action: PJSIPRegister
ActionID: <value>
Registration: <value>
</pre>
* Registration : The outbound registration to register or "*all" to register them all.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPRegister
 
== PJSIPShowEndpoint ==
Detail listing of an endpoint and its objects.
 
Provides a detailed listing of options for given endpoint. Events are issued showing the configuration and status of the endpoint and associated objects. These events include EndpointDetail, AorDetail, AuthDetail, TransportDetail, and IdentifyDetail.
 
Some events may be listed multiple times if multiple objects are associated (for instance AoRs). Once all detail events have been raised a final EndpointDetailComplete event is issued.
<pre>
Action: PJSIPShowEndpoint
ActionID: <value>
Endpoint: <value>
</pre>
* Endpoint: The endpoint to list.
 
=== Example ===
<pre>
Action: PJSIPShowEndpoint
Endpoint: 199
 
Response: Success
EventList: start
Message: Following are Events for each object associated with the the Endpoint
 
Event: EndpointDetail
ObjectType: endpoint
ObjectName: 199
RpidImmediate: false
Webrtc: no
DeviceStateBusyAt: 0
T38UdptlMaxdatagram: 0
DtlsRekey: 0
NamedPickupGroup:
DirectMediaMethod: invite
SendRpid: false
PickupGroup:
SdpSession: Asterisk
DtlsVerify: Yes
MessageContext:
Mailboxes:
RecordOnFeature: automixmon
DtlsPrivateKey:
DtlsFingerprint: SHA-256
FromDomain:
TimersSessExpires: 1800
NamedCallGroup:
DtlsCipher:
MediaEncryptionOptimistic: false
Aors: 199
IdentifyBy: username
CalleridPrivacy: allowed_not_screened
MwiSubscribeReplacesUnsolicited: false
CosAudio: 0
Context: default
RtpSymmetric: false
Transport:
MohSuggest: default
T38Udptl: false
FaxDetect: false
TosVideo: 0
SrtpTag32: false
ReferBlindProgress: true
MaxAudioStreams: 1
Bundle: false
UseAvpf: true
CallGroup:
FaxDetectTimeout: 0
SdpOwner: -
ForceRport: true
CalleridTag:
RtpTimeoutHold: 0
UsePtime: false
MediaAddress:
VoicemailExtension:
RtpTimeout: 0
SetVar:
ContactAcl:
PreferredCodecOnly: false
ForceAvp: false
RecordOffFeature: automixmon
FromUser:
SendDiversion: true
T38UdptlIpv6: false
ToneZone:
Language:
AllowSubscribe: true
RtpIpv6: false
Callerid: <unknown>
MohPassthrough: false
CosVideo: 0
AsymmetricRtpCodec: false
IceSupport: true
AggregateMwi: true
OneTouchRecording: false
MwiFromUser:
Accountcode:
Allow: (opus|ulaw)
RewriteContact: false
UserEqPhone: false
RtpEngine: asterisk
SubscribeContext:
NotifyEarlyInuseRinging: false
IncomingMwiMailbox:
Auth: 199
DirectMediaGlareMitigation: none
TrustIdInbound: false
BindRtpToMediaAddress: false
DisableDirectMediaOnNat: false
MediaEncryption: dtls
MediaUseReceivedTransport: true
AllowOverlap: true
DtmfMode: rfc4733
OutboundAuth:
TosAudio: 0
DtlsCertFile: /etc/asterisk/keys/asterisk.pem
DtlsCaPath:
DtlsSetup: actpass
ConnectedLineMethod: invite
G726NonStandard: false
100rel: yes
Timers: yes
DirectMedia: true
Acl:
TimersMinSe: 90
TrustIdOutbound: false
SubMinExpiry: 0
RtcpMux: true
MaxVideoStreams: 1
SendPai: false
RtpKeepalive: 0
T38UdptlEc: none
T38UdptlNat: false
AllowTransfer: true
DtlsCaFile: /etc/asterisk/keys/ca.crt
OutboundProxy:
InbandProgress: false
DeviceState: Not in use
ActiveChannels:
 
Event: AuthDetail
ObjectType: auth
ObjectName: 199
Username: 199
Md5Cred:
Realm:
AuthType: userpass
Password: 199199
NonceLifetime: 32
EndpointName: 199
 
Event: AorDetail
ObjectType: aor
ObjectName: 199
MinimumExpiration: 60
DefaultExpiration: 3600
QualifyTimeout: 3.000000
Mailboxes:
SupportPath: false
VoicemailExtension:
MaxContacts: 1
AuthenticateQualify: false
Contacts: 199/sip:199@172.17.42.1:36115;transport=ws;rtcweb-breaker=no
MaximumExpiration: 7200
QualifyFrequency: 0
RemoveExisting: true
OutboundProxy:
TotalContacts: 1
ContactsRegistered: 1
EndpointName: 199
 
Event: ContactStatusDetail
AOR: 199
URI: sip:199@172.17.42.1:36115;transport=ws;rtcweb-breaker=no
UserAgent: IM-client/OMA1.0 sipML5-v1.2016.03.04
RegExpire: 1512048398
ViaAddress: df7jal23ls0d.invalid
CallID: 0ac22a50-8170-19d0-85fd-5e61c133bd00
Status: Unknown
RoundtripUsec: N/A
EndpointName: 199
ID: 199;@29493f07102d24dcb5054982b064d9ee
AuthenticateQualify: 0
OutboundProxy:
Path:
QualifyFrequency: 0
QualifyTimeout: 3.000
 
Event: EndpointDetailComplete
EventList: Complete
ListItems: 4
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowEndpoint
 
== PJSIPShowEndpoints ==
Lists PJSIP endpoints.
 
Provides a listing of all endpoints. For each endpoint an EndpointList event is raised that contains relevant attributes and status information. Once all endpoints have been listed an EndpointListComplete event is issued.
<pre>
Action: PJSIPShowEndpoints
</pre>
 
=== Example ===
<pre>
Action: PJSIPShowEndpoints
 
Response: Success
EventList: start
Message: A listing of Endpoints follows, presented as EndpointList events
 
Event: EndpointList
ObjectType: endpoint
ObjectName: 199
Transport:
Aor: 199
Auths: 199
OutboundAuths:
Contacts: 199/sip:199@172.17.42.1:32942;transport=ws;rtcweb-breaker=no,
DeviceState: Not in use
ActiveChannels:
 
...
 
Event: EndpointListComplete
EventList: Complete
ListItems: 2
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowEndpoints
 
== PJSIPShowRegistrationInboundContactStatuses ==
Lists ContactStatuses for PJSIP inbound registrations.
 
In response, ContactStatusDetail events showing status information are raised for each inbound registration (dynamic contact) object. Once all events are completed a ContactStatusDetailComplete event is issued.
<pre>
Action: PJSIPShowRegistrationInboundContactStatuses
</pre>
 
=== Example ===
<pre>
Action: PJSIPShowRegistrationInboundContactStatuses
 
Response: Success
EventList: start
Message: Following are ContactStatusEvents for each Inbound registration
 
Event: ContactStatusDetail
AOR: agent-01
URI: sip:65387014@10.1.27.127:60668
UserAgent: Blink 1.4.2 (Linux)
RegExpire: 1512635985
ViaAddress: 10.1.27.127:60668
CallID: 8KMuaqrUWGHH1AydWN6uXTCVF0daucTN
Status: Unknown
RoundtripUsec: N/A
EndpointName: agent-01
ID: agent-01;@5aac93d458bbcc990687686b49fa8e45
AuthenticateQualify: 0
OutboundProxy:
Path:
QualifyFrequency: 0
QualifyTimeout: 3.000
 
Event: ContactStatusDetailComplete
EventList: Complete
ListItems: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowRegistrationInboundContactStatuses
 
== PJSIPShowRegistrationsInbound ==
Lists PJSIP inbound registrations.
 
In response, InbooundRegistrationDetail events showing configuration and status information are raised for all contacts, static or dynamic. Once all events are completed an InboundRegistrationDetailComplete is issued.
: Warning.
: This command just dumps all configured AORs with contacts, even if the contact is a permanent one. To really get just inbound registrations, use PJSIPShowRegistrationInboundContactStatuses.
<pre>
Action: PJSIPShowRegistrationsInbound
</pre>
 
=== Example ===
<pre>
Action: PJSIPShowRegistrationsInbound
 
Response: Success
EventList: start
Message: Following are Events for each Inbound registration
 
Event: InboundRegistrationDetail
ObjectType: aor
ObjectName: agent-01
MinimumExpiration: 60
DefaultExpiration: 3600
QualifyTimeout: 3.000000
Mailboxes:
SupportPath: false
VoicemailExtension:
MaxContacts: 1
AuthenticateQualify: false
Contact: agent-01/sip:65387014@10.1.27.127:60668
MaximumExpiration: 7200
QualifyFrequency: 0
RemoveExisting: true
OutboundProxy:
Contacts: agent-01/sip:65387014@10.1.27.127:60668,
 
...
 
Event: InboundRegistrationDetailComplete
EventList: Complete
ListItems: 7
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowRegistrationsInbound
 
== PJSIPShowRegistrationsOutbound ==
Lists PJSIP outbound registrations.
 
In response OutboundRegistrationDetail events showing configuration and status information are raised for each outbound registration object. AuthDetail events are raised for each associated auth object as well. Once all events are completed an OutboundRegistrationDetailComplete is issued.
<pre>
Action: PJSIPShowRegistrationsOutbound
</pre>
 
=== Example ===
==== Normal ====
<pre>
Action: PJSIPShowRegistrationsOutbound
 
Response: Success
EventList: start
Message: Following are Events for each Outbound registration
 
Event: OutboundRegistrationDetail
ObjectType: registration
ObjectName: test12345
MaxRetries: 10
ClientUri: sip:test12345.test.com
AuthRejectionPermanent: true
ServerUri: sip:sip.test.com
SupportPath: false
RetryInterval: 60
Expiration: 3600
Transport:
Line: false
ContactUser:
Endpoint:
ForbiddenRetryInterval: 0
OutboundAuth: test12345
OutboundProxy:
FatalRetryInterval: 0
Status: Rejected
NextReg: 0
 
Event: AuthDetail
ObjectType: auth
ObjectName: test12345
Username: test12345
Md5Cred:
Realm:
AuthType: userpass
Password: 1234567
NonceLifetime: 32
 
Event: OutboundRegistrationDetailComplete
EventList: Complete
ListItems: 1
Registered: 0
NotRegistered: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowRegistrationsOutbound
 
== PJSIPShowResourceLists ==
Display settings for configured resource lists.
 
Provides a listing of all resource lists. An event ResourceListDetail is issued for each resource list object. Once all detail events are completed a ResourceListDetailComplete event is issued.
<pre>
Action: PJSIPShowResourceLists
</pre>
 
=== Example ===
* Error
<pre>
Action: PJSIPShowResourceLists
 
Response: Error
Message: No resource lists found
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowResourceLists
 
== PJSIPShowSubscriptionsInbound ==
Lists subscriptions.
 
Provides a listing of all inbound subscriptions. An event InboundSubscriptionDetail is issued for each subscription object. Once all detail events are completed an InoundSubscriptionDetailComplete event is issued.
<pre>
Action: PJSIPShowSubscriptionsInbound
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowSubscriptionsInbound
 
== PJSIPShowSubscriptionsOutbound ==
Lists subscriptions.
 
Provides a listing of all outbound subscriptions. An event OutboundSubscriptionDetail is issued for each subscription object. Once all detail events are completed an OutboundSubscriptionDetailComplete is issued.
<pre>
Action: PJSIPShowSubscriptionsOutbound
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPShowSubscriptionsOutbound
 
== PJSIPUnregister ==
Unregister an outbound registration.
 
Unregisters the specified (or all) outbound registration(s) and stops future registration attempts. Call PJSIPRegister to start registratioin and schedule re-registrations according to configuration.
<pre>
Action: PJSIPUnregister
ActionID: <value>
Registration: <value>
</pre>
* Registration : The outbound registration to unregister or "all" to unregister them all.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PJSIPUnregister
 
== PlayDTMF ==
Play DTMF signal on a specific channel.
<pre>
Action: PlayDTMF
ActionID: <value>
Channel: <value>
Digit: <value>
[Duration:] <value>
</pre>
* Channel : Channel name to send digit to.
* Digit : The DTMF digit to play.
* Duration : The duration, in milliseconds, of the digit to be played.
 
=== Example ===
<pre>
Action: PlayDTMF
Channel: SIP/301-00000000
Digit: 5
 
Response: Success
Message: DTMF successfully queued
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PlayDTMF
 
== PresenceState ==
Check Presence State
 
Report the presence state for the given presence provider.
 
Will return a Presence State message. The response will include the presence state and, if set, a presence subtype and custom message.
<pre>
Action: PresenceState
ActionID: <value>
Provider: <value>
</pre>
* Provider : Presence Provider to check the state of.
 
=== Example ===
==== Error ====
<pre>
Action: PresenceState
 
Response: Error
Message: No provider specified
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PresenceState
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerEvent_PresenceStatus
 
== PresenceStateList ==
List the current known presence states.
 
This will list out all known presence states in a sequence of PresenceStateChange events. When finished, a PresenceStateListComplete event will be emitted.
<pre>
Action: PresenceStateList
ActionID: <value>
</pre>
 
=== Example ===
<pre>
Action: PresenceStateList
 
Response: Success
EventList: start
Message: Presence State Changes will follow
 
Event: PresenceStateListComplete
EventList: Complete
ListItems: 0
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PresenceStateList
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PresenceState
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerEvent_PresenceStatus
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Function_PRESENCE_STATE
 
== PRIDebugFileSet ==
Set the file used for PRI debug message output.
 
Equivalent to the CLI command "pri set debug file <output-file>"
<pre>
Action: PRIDebugFileSet
ActionID: <value>
File: <value>
</pre>
* File : Path of tile to write debug output.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PRIDebugFileSet
 
== PRIDebugFileUnset ==
Disables file output for PRI debug messages.
<pre>
Action: PRIDebugFileUnset
ActionID: <value>
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PRIDebugFileUnset
 
== PRIDebugSet ==
Set PRI debug levels for a span.
 
Equivalent to the CLI command "pri set debug <level> span <span>".
<pre>
Action: PRIDebugSet
ActionID: <value>
Span: <value>
Level: <value>
</pre>
* Span : Which span to affect.
* Level : What debug level to set. May be a numerical value or a text value from the list below.
: off
: on
: hex
: intense
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PRIDebugSet
 
== PRIShowSpans ==
Show status of PRI spans.
 
Similar to the CLI command "pri show spans".
<pre>
Action: PRIShowSpans
ActionID: <value>
Span: <value>
</pre>
* Span : Specify the specific span to show. Show all spans if zero or not present.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_PRIShowSpans
 
== QueueAdd ==
Add interface to queue.
<pre>
Action: QueueAdd
ActionID: <value>
Queue: <value>
Interface: <value>
Penalty: <value>
Paused: <value>
MemberName: <value>
StateInterface: <value>
</pre>
* Queue : Queue name
* Interface : Queue에 추가하고자 하는 멤버(Channel) 이름(tech/name).
* Penalty : 초기 설정 Penalty 값
* Paused : Paused 설정(true/false 혹은 1/0)
* MemberName : Interface 별명.
* StateInterface : 멤버 State 를 받아오는 device 혹은 Channel 정보.
 
=== Example ===
<pre>
Action: QueueAdd
Queue: sales_1
Interface: sip/agent-01
MemberName: sip/agent-01
 
Response: Success
Message: Added interface to queue
</pre>
 
== QueueLog ==
Adds custom entry in queue_log
<pre>
Action: QueueLog
ActionID: <value>
Queue: <value>
Event: <value>
Uniqueid: <value>
Interface: <value>
Message: <value>
</pre>
 
=== Example ===
==== Normal ====
<pre>
Action: QueueLog
Queue: sales_1
Event: QueueCallerJoin
Message: QueueLog action test
 
Response: Success
Message: Event added successfully
</pre>
 
이후, /var/log/asterisk/queue_log 파일을 확인하면 해당 큐에 지정한 이벤트 발생시, 추가된 로그 내용을 확인할 수 있다.
<pre>
$ cat /var/log/asterisk/queue_log
...
1500030788|NONE|sales_1||QueueCallerJoin|QueueLog action test
1500030875|1500030874.11|sales_1|NONE|ENTERQUEUE||301|1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueLog
 
== QueueMemberRingInUse ==
Set the ringinuse value for a queue member.
<pre>
Action: QueueMemberRingInUse
ActionID: <value>
Interface: <value>
RingInUse: <value>
Queue: <value>
</pre>
 
=== Example ===
<pre>
Action: QueueMemberRingInUse
Interface: sip/agent-03
RingInUse: 1
Queue: sales_1
 
Response: Success
Message: Interface ringinuse set successfully
 
Event: QueueMemberRinginuse
Privilege: agent,all
Queue: sales_1
MemberName: sip/agent-03
Interface: sip/agent-03
Ringinuse: 1
Status: 1
StateInterface: sip/agent-03
Membership: dynamic
Penalty: 0
LastCall: 0
CallsTaken: 0
LastPause: 0
InCall: 0
Paused: 0
PausedReason:
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueMemberRingInUse
 
== QueuePause ==
큐에 설정된 멤버(Channel)을 일시적 사용불가/사용가능 상태로 변경한다.
<pre>
Action: QueuePause
ActionID: <value>
Interface: <value>
Paused: <value>
Queue: <value>
Reason: <value>
</pre>
* Interface : 사용가능/불가 상태로 지정하고자 하는 채널 혹은 인터페이스(tech/name)
* Paused : "true": 사용불가, "false" : 사용가능
* Queue : paused/unpaused 하고자 하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 paused/unpaused 를 하게 된다.
* Reason : Description. QueueMemberPaused 이벤트에 설정되게 된다.
 
=== Example ===
<pre>
Action: QueuePause
Interface: sip/agent-03
Paused: 1
Queue: sales_1
Reason: test queue pause set 1
 
Response: Success
Message: Interface paused successfully
 
Event: DeviceStateChange
Privilege: call,all
Device: Queue:sales_1_pause_sip/agent-03
State: INUSE
 
Event: QueueMemberPause
Privilege: agent,all
Queue: sales_1
MemberName: sip/agent-03
Interface: sip/agent-03
Reason: test queue pause set 1
Ringinuse: 1
Status: 1
StateInterface: sip/agent-03
Membership: dynamic
Penalty: 0
LastCall: 0
CallsTaken: 0
LastPause: 1500031553
InCall: 0
Paused: 1
PausedReason: test queue pause set 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueuePause
 
== QueuePenalty ==
큐 멤버의 패널티를 설정한다.
<pre>
Action: QueuePenalty
ActionID: <value>
Interface: <value>
Penalty: <value>
Queue: <value>
</pre>
* Interface : 패널티를 수정하고자 하는 멤버(Channel) 이름(tech/name).
* Penalty : 설정하고자 하는 패널티 값. 단, 음수를 설정할수는 없다.
* Queue : 패널티를 설정하고자하는 큐 이름. 만약 지정하지 않으면, 해당 멤버(Channel)이 속한 모든 큐에서 패널티 값을 수정하게 된다.
 
=== Example ===
<pre>
Action: QueuePenalty
interface: sip/agent-01
Penalty: 10
Queue: sales_1
ActionId: f712036e-03e3-11e7-80d0-9fe5b014f295
 
Response: Success
ActionID: f712036e-03e3-11e7-80d0-9fe5b014f295
Message: Interface penalty set successfully
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueuePenalty
 
== QueueReload ==
Queue를 reload한다. 하나 혹은 다수 Queue 또는 큐의 하위 섹션들을 reload 한다.
<pre>
Action: QueueReload
ActionID: <value>
Queue: <value>
Members: <value>
Rules: <value>
Parameters: <value>
</pre>
* Queue : reload 하고자 하는 큐 이름. 만약 지정하지 않으면, 모든 큐에 대해 reload가 수행된다.
* Members : Queue 의 멤버들의 reload 여부.
: yes
: no
* Rules : queuerules.conf 파일의 reload 여부.
: yes
: no
* Parameters : 다른 Queue 옵션들의 reload 여부.
: yes
: no
 
=== Example ===
<pre>
Action: QueueReload
Queue: sales_1
 
Response: Success
Message: Queue reloaded successfully
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueReload
 
== QueueRemove ==
Queue 에서 해당 멤버(Channel)를 삭제한다.
<pre>
Action: QueueRemove
ActionID: <value>
Queue: <value>
Interface: <value>
</pre>
* Queue : Queue name
* Interface : 삭제하고자 하는 멤버(Channel) 이름(tech/name)
 
=== Example ===
<pre>
Action: QueueRemove
Queue: sales_1
Interface: sip/agent-01
ActionId: 761fde72-03e6-11e7-9452-8b21cf5e8798
 
Response: Success
ActionID: 761fde72-03e6-11e7-9452-8b21cf5e8798
Message: Removed interface from queue
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueRemove
 
== QueueReset ==
Queue 관련 통계를 초기화한다.
<pre>
Action: QueueReset
ActionID: <value>
Queue: <value>
</pre>
* Queue : Queue name
 
=== Example ===
==== No queue name ====
<pre>
Action: QueueReset
 
Response: Success
Message: Queue stats reset successfully
</pre>
 
==== Queue specified ====
<pre>
Action: QueueReset
Queue: sales_1
 
Response: Success
Message: Queue stats reset successfully
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueReset
 
== QueueRule ==
queuerules.conf 에 설정된 Queue Rule 을 보여준다.
<pre>
Action: QueueRule
ActionID: <value>
Rule: <value>
</pre>
* Rule : queuerules.conf 파일에 설정되어 있는 Rule 이름.
 
=== Example ===
<pre>
Action: QueueRule
 
Response: Success
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueRule
 
== Queues ==
Show queues information.
<pre>
Action: Queues
</pre>
 
=== Example ===
<pre>
Action: Queues
 
sales_1 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 5s
  Members:
      sip/agent-02 (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet
      sip/agent-03 (ringinuse enabled) (dynamic) (paused:test queue pause set 1 was 1500032097 secs ago) (Not in use) has taken no calls yet
      sip/agent-01 (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet
      test (ringinuse enabled) (dynamic) (Invalid) has taken no calls yet
      Agent/10001 (ringinuse enabled) (Invalid) has taken no calls yet
  No Callers
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Queues
 
== QueueStatus ==
Queue/Member(Channel) 의 현재 상태 정보를 확인한다. 입력된 Queue/Member(Channel) 항목이 없다면 현재 활성화된 전체 Queue/Member(Channel) 의 상태 정보를 리턴한다.
<pre>
Action: QueueStatus
ActionID: <value>
Queue: <value>
Member: <value>
</pre>
* Queue - 확인하고자 하는 Queue name.
* Member - 확인하고자 하는 멤버(Channel) 이름
 
=== Example ===
<pre>
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: QueueEntry
Queue: Camp200
Position: 1
Channel: SIP/test-201-00000001
Uniqueid: 1447837150.7
CallerIDNum: 201
CallerIDName: user 2
ConnectedLineNum: unknown
ConnectedLineName: unknown
Wait: 16
 
Event: QueueStatusComplete
ActionID: 001
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueAdd
* http://wiki.pchero21.com/wiki/Asterisk_ami-event#QueueMember
* http://wiki.pchero21.com/wiki/Asterisk_ami-event#QueueParams
* http://wiki.pchero21.com/wiki/Asterisk_ami-event#QueueEntry
 
== QueueSummary ==
Queue의 간략 상태를 표시한다. Queue name 을 지정하지 않을 경우, 모든 Queue 의 Summary 를 표시한다.
 
<pre>
Action: QueueSummary
ActionID: <value>
[Queue]: <value>
</pre>
* Queue : Queue name
 
=== Response message ===
* [[Asterisk_ami-event#QueueSummary]]
 
=== Example ===
<pre>
Action: QueueSummary
 
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
EventList: Complete
ListItems: 3
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_QueueSummary
 
== Redirect ==
채널을 지정된 dialplan 으로 redirect(transfer)한다. 즉, 채널 넘겨주기.
<pre>
Action: Redirect
ActionID: <value>
Channel: <value>
Exten: <value>
Context: <value>
Priority: <value>
ExtraChannel: <value>
ExtraExten: <value>
ExtraContext: <value>
ExtraPriority: <value>
</pre>
* Channel - 넘겨주고자 하는 채널.
* Exten - 채널을 넘겨받게 되는 Extension.
* Context - 넘겨받게 되는 Context.
* Priority - 념겨받게 되는 채널의 Priority.
* ExtraChannel - 추가로 같이 넘겨주고자 하는 채널(optional).
* ExtraExten - ExtraChannel 을 넘겨받게 되는 Extension(optional).
* ExtraContext - ExtraChannel 을 넘겨받게 되는 Context(optional).
* ExtraPriority - 넘겨받게 되는 ExtraChannel 의 Priority(optional).
 
=== Example ===
<pre>
Action: Redirect
Channel: SIP/301-0000000d
Exten: 4002
Context: demo
Priority: 1
 
Response: Success
Message: Redirect successful
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Redirect
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_BlindTransfer
 
== Reload ==
Send a reload request.
<pre>
Action: Reload
ActionID: <value>
Module: <value>
</pre>
* Module : Name of the module to reload.
 
=== Example ===
<pre>
Action: Reload
Module: chan_sip
 
Response: Success
Message: Module Reloaded
 
Event: Reload
Privilege: system,all
Module: chan_sip
Status: 0
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Reload
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ModuleLoad
 
== SendText ==
Send text message to channel.
 
Sends A Text Message to a channel while in a call.
<pre>
Action: SendText
ActionID: <value>
Channel: <value>
Message: <value>
</pre>
* ActionID
* Channel : Channel to send message to.
* Message : Message to send.
 
Asterisk 에는 메시지 수신을 위한 ReceiveText 가 없다. 하지만 AGI 를 이용하면 메시지 수신이 가능하다.
<pre>
print STDERR "1. Testing 'sendtext'...";
print "SEND TEXT \"hello world\"\n";
my $result = <STDIN>;
&checkresult($result);
 
print STDERR "2. Receiving Text 'receivetext'...";
print "RECEIVE TEXT 3000\n";
my $result = <STDIN>;
&checkresult($result);
</pre>
 
=== Example ===
<pre>
Action: SendText
Channel: SIP/300-00000003
Message: Test message
 
Response: Success
Message: Success
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SendText
* http://www.voip-info.org/wiki/view/Asterisk+cmd+SendText
 
== Setvar ==
Sets a channel variable or function value.
 
This command can be used to set the value of channel variables or dialplan functions.
: If a channel name is not provided then the variable is considered global.
: 채널 이름을 지정하지 않으면, global 변수로 간주한다.
<pre>
Action: Setvar
ActionID: <value>
Channel: <value>
Variable: <value>
Value: <value>
</pre>
* Channel : Channel to set variable for.
* Variable : Variable name, function or expression.
* Value : Variable or function value.
 
=== Example ===
<pre>
Action: Setvar
Variable: Setvar global test key
Value: Setvar global test value
 
Response: Success
Message: Variable Set
 
Event: VarSet
Privilege: dialplan,all
Channel: none
Uniqueid: none
Variable: Setvar global test key
Value: Setvar global test value
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Setvar
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Getvar
 
== ShowDialPlan ==
Show dialplan contexts and extensions.
 
Show dialplan contexts and extensions. Be aware that showing the full dialplan may take a lot of capacity.
<pre>
Action: ShowDialPlan
ActionID: <value>
Extension: <value>
Context: <value>
</pre>
* Extension : Show a specific extension.
* Context : Show a specific context.
 
=== Example ===
<pre>
Action: ShowDialPlan
Extension: 4000
Context: demo
 
Response: Success
EventList: start
Message: DialPlan list will follow
 
Event: ListDialplan
Context: demo
Extension: 4000
Priority: 1
Application: Goto
AppData: sample_musiconhold,s,1
Registrar: pbx_config
 
...
 
Event: ShowDialPlanComplete
EventList: Complete
ListItems: 8
ListExtensions: 2
ListPriorities: 8
ListContexts: 2
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ShowDialPlan
 
== SIPnotify ==
Send a SIP notify.
 
Send a SIP Notify event.
 
All parameters for this event must be specified in the body of this request via multiple Variable: name=value sequences.
<pre>
Action: SIPnotify
ActionID: <value>
Channel: <value>
Variable: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Channel - Peer to receive the notify.
* Variable - At least one variable pair must be specified. name=value
 
=== Example ===
==== Normal ====
<pre>
Action: SIPnotify
Channel: pluto.pchero21.com:5060
Variable: SIPnotify_key1=SIPnotify_val1
 
Response: Success
Message: Notify Sent
</pre>
 
이후, Asterisk Server 에서 sip 메시지 내용을 확인하면 NOTIFY 를 전송한 것을 확인할 수 있다.
<pre>
Scheduling destruction of SIP dialog '52a10f2b47853ad54bf97ccf4bd5202f@10.12.118.11:5060' in 32000 ms (Method: NOTIFY)
Reliably Transmitting (no NAT) to 10.12.118.11:5060:
NOTIFY sip:pluto.pchero21.com:5060 SIP/2.0
Via: SIP/2.0/UDP 10.12.118.11:5060;branch=z9hG4bK6f632b19
Max-Forwards: 70
From: "asterisk" <sip:asterisk@10.12.118.11>;tag=as08c857d4
To: <sip:pluto.pchero21.com:5060>
Contact: <sip:asterisk@10.12.118.11:5060>
Call-ID: 52a10f2b47853ad54bf97ccf4bd5202f@10.12.118.11:5060
CSeq: 102 NOTIFY
User-Agent: Asterisk PBX 14.3.0
Date: Fri, 14 Jul 2017 12:25:36 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Subscription-State: terminated
SIPnotify_key1: SIPnotify_val1
Content-Length: 0
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPnotify
 
== SIPpeers ==
현재 등록되어 있는 모든 SIP peer 를 보여준다.
<pre>
Action: SIPpeers
ActionID: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
 
=== Example ===
<pre>
Action: SIPpeers
 
Response: Success
EventList: start
Message: Peer status list will follow
 
Event: PeerEntry
Channeltype: SIP
ObjectName: 200
ChanObjectType: peer
IPaddress: -none-
IPport: 0
Dynamic: yes
AutoForcerport: yes
Forcerport: no
AutoComedia: no
Comedia: no
VideoSupport: no
TextSupport: no
ACL: no
Status: Unmonitored
RealtimeDevice: no
Description:
Accountcode:
 
...
 
Event: PeerlistComplete
EventList: Complete
ListItems: 12
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPpeers
 
== SIPpeerstatus ==
지정된 SIP peer 의 status 를 확인한다.
 
만약 SIP peer 를 지정하지 않을 경우, 모든 SIP peer 의 status 를 돌려준다.
 
정상적인 sip peer status 를 확인하기 위해서는 sip.conf 에서 해당 peer 의 설정에 qualify=yes 옵션을 설정해주어야 한다. 만약 qualify=yes 옵션을 설정하지 않을 경우, status 는 "Unmonitored" 라고 표시된다.
 
<pre>
Action: SIPpeerstatus
ActionID: <value>
[Peer:] <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Peer - The peer name you want to check.
 
=== Example ===
* qualify 설정 전.
<pre>
Action: SIPpeerstatus
Peer: SIP/300
 
Response: Success
EventList: start
Message: Peer status will follow
 
Event: PeerStatus
Privilege: System
ChannelType: SIP
Peer: SIP/300
PeerStatus: Unmonitored
 
Event: SIPpeerstatusComplete
EventList: Complete
ListItems: 1
</pre>
 
* qualify 설정 후.
<pre>
Action: SIPpeerstatus
Peer: SIP/300
 
Response: Success
EventList: start
Message: Peer status will follow
 
Event: PeerStatus
Privilege: System
ChannelType: SIP
Peer: SIP/300
PeerStatus: Unknown
 
Event: SIPpeerstatusComplete
EventList: Complete
ListItems: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPpeerstatus
 
== SIPqualifypeer ==
Qualify SIP peers.
<pre>
Action: SIPqualifypeer
ActionID: <value>
Peer: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Peer - The peer name you want to qualify.
 
=== Example ===
<pre>
Action: SIPqualifypeer
Peer: 300
 
Response: Success
Message: SIP peer found - will qualify
 
Event: SIPQualifyPeerDone
Privilege: call,all
Peer: 300
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPqualifypeer
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerEvent_SIPQualifyPeerDone
 
== SIPshowpeer ==
Show one SIP peer with details on current status.
<pre>
Action: SIPshowpeer
ActionID: <value>
Peer: <value>
</pre>
* ActionID - ActionID for this transaction. Will be returned.
* Peer - The peer name you want to check.
 
=== Example ===
<pre>
Action: SIPshowpeer
Peer: 300
 
Response: Success
Channeltype: SIP
ObjectName: 300
ChanObjectType: peer
SecretExist: Y
RemoteSecretExist: N
MD5SecretExist: N
Context: public
Language:
ToneZone: <Not set>
AMAflags: Unknown
CID-CallingPres: Presentation Allowed, Not Screened
Callgroup:
Pickupgroup:
Named Callgroup:
Named Pickupgroup:
MOHSuggest:
VoiceMailbox:
TransferMode: open
LastMsgsSent: 0
Maxforwards: 0
Call-limit: 2147483647
Busy-level: 0
MaxCallBR: 384 kbps
Dynamic: Y
Callerid: "" <>
RegExpire: 548 seconds
SIP-AuthInsecure: no
SIP-Forcerport: a
SIP-Comedia: N
ACL: N
SIP-CanReinvite: Y
SIP-DirectMedia: Y
SIP-PromiscRedir: N
SIP-UserPhone: N
SIP-VideoSupport: N
SIP-TextSupport: N
SIP-T.38Support: N
SIP-T.38EC: Unknown
SIP-T.38MaxDtgrm: 4294967295
SIP-Sess-Timers: Accept
SIP-Sess-Refresh: uas
SIP-Sess-Expires: 1800
SIP-Sess-Min: 90
SIP-RTP-Engine: asterisk
SIP-Encryption: N
SIP-DTMFmode: rfc2833
ToHost:
Address-IP: 10.1.27.60
Address-Port: 36583
Default-addr-IP: (null)
Default-addr-port: 0
Default-Username: 89472105
Codecs: (ulaw|alaw|gsm|h263)
Status: OK (25 ms)
SIP-Useragent: Blink 1.4.2 (Linux)
Reg-Contact: sip:89472105@10.1.27.60:36583
QualifyFreq: 60000 ms
Parkinglot:
SIP-Use-Reason-Header: N
Description:
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPshowpeer
 
== Sipshowregistry ==
현재 등록된 SIP registry 목록을 보여준다.
 
Lists all registration requests and status. Registrations will follow as separate events followed by a final event called RegistrationsComplete.
<pre>
Action: SIPshowregistry
ActionID: <value>
</pre>
 
=== Example ===
<pre>
Action: SIPshowregistry
 
Response: Success
EventList: start
Message: Registrations will follow
 
Event: RegistryEntry
Host: 192.168.100.10
Port: 5060
Username: test_register
Domain: 192.168.100.10
DomainPort: 5060
Refresh: 105
State: Request Sent
RegistrationTime: 1447519599
 
Event: RegistrationsComplete
EventList: Complete
ListItems: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SIPshowregistry
 
== SKINNYdevices ==
List SKINNY devices (text format).
 
List Skinny devices in text format with details on current status. Devicelist will follow as separate events, followed by a final event called DevicelistComplete.
<pre>
Action: SKINNYdevices
ActionID: <value>
</pre>
 
=== Example ===
<pre>
Action: SKINNYdevices
 
Response: Success
EventList: start
Message: Device status list will follow
 
Event: DevicelistComplete
EventList: Complete
ListItems: 0
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SKINNYdevices
 
== SKINNYlines ==
List SKINNY lines (text format).
 
Lists Skinny lines in text format with details on current status. Linelist will follow as separate events, followed by a final event called LinelistComplete.
<pre>
Action: SKINNYlines
ActionID: <value>
</pre>
 
=== Example ===
==== Empty lists ====
<pre>
Action: SKINNYlines
 
Response: Success
EventList: start
Message: Line status list will follow
 
Event: LinelistComplete
EventList: Complete
ListItems: 0
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SKINNYlines
 
== SKINNYshowdevice ==
Show SKINNY device (text format).
 
Show one SKINNY device with details on current status.
<pre>
Action: SKINNYshowdevice
ActionID: <value>
Device: <value>
</pre>
* Device : The device name you want to check.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SKINNYshowdevice
 
== SKINNYshowline ==
Show SKINNY line (text format).
 
Show one SKINNY line with details on current status.
<pre>
Action: SKINNYshowline
ActionID: <value>
Line: <value>
</pre>
* Line : The line name you want to check.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SKINNYshowline
 
== SorceryMemoryCacheExpire ==
Expire (remove) All objects from a sorcery memory cache.
<pre>
Action: SorceryMemoryCacheExpire
ActionID: <value>
Cache: <value>
</pre>
* Cache : The name of the cache to expire all objects from.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SorceryMemoryCacheExpire
 
== SorceryMemoryCacheExpireObject ==
Expire (remove) an object from a sorcery memory cache.
<pre>
Action: SorceryMemoryCacheExpireObject
ActionID: <value>
Cache: <value>
Object: <value>
</pre>
* Cache : The name of the cache to expire the object from.
* Object : The name of the object to expire.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SorceryMemoryCacheExpireObject
 
== SorceryMemoryCachePopulate ==
Expire all objects from a memory cache and populate it with all objects from the backend.
<pre>
Action: SorceryMemoryCachePopulate
ActionID: <value>
Cache: <value>
</pre>
* Cache : The name of the cache to popluate.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SorceryMemoryCachePopulate
 
== SorceryMemoryCacheStale ==
Marks ALL objects in a sorcery memory cache as stale.
<pre>
Action: SorceryMemoryCacheStale
ActionID: <value>
Cache: <value>
</pre>
* Cache : The name of the cache to mark all object as stale in.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SorceryMemoryCacheStale
 
== SorceryMemoryCacheStaleObject ==
Mark an object in a sorcery memory cache as stale.
<pre>
Action: SorceryMemoryCacheStaleObject
ActionID: <value>
Cache: <value>
Object: <value>
[Reload:] <value>
</pre>
* Cache : The name of the cache to mark the object as stale in.
* Object : The name of the object to mark as stale.
* Reload : If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_SorceryMemoryCacheStaleObject
 
== Status ==
List channel status.
 
Will return the status information of each channel along with the value for the specified channel variables.
<pre>
Action: Status
ActionID: <value>
[Channel:] <value>
Variables: <value>
AllVariables: <value>
</pre>
* ActionID
* Channel : The name of the channel to query for status.
* Variables : Comma(,) separated list of variable to include.
* AllVariables : If set to "true", the Status event will include all channel variables for the requested channel(s).
: true
: false
 
=== Response message ===
* [[Asterisk_ami-event#Status]]
 
=== Example ===
<pre>
Action: Status
AllVariables: true
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
 
Response: Success
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
EventList: start
Message: Channel status will follow
 
Event: Status
Privilege: Call
Channel: SIP/300-0000000c
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
ConnectedLineName: <unknown>
Language: en
Language: en
AccountCode:  
AccountCode:  
Context: sample_park
Context: sample_park
Exten: s
Exten: s
Priority: 2
Priority: 2
Uniqueid: 1481806671.27
Uniqueid: 1481806671.27
Linkedid: 1481806671.27
Linkedid: 1481806671.27
Type: SIP
Type: SIP
DNID: 4001
DNID: 4001
EffectiveConnectedLineNum: <unknown>
EffectiveConnectedLineNum: <unknown>
EffectiveConnectedLineName: <unknown>
EffectiveConnectedLineName: <unknown>
TimeToHangup: 0
TimeToHangup: 0
BridgeID: 299de6ea-1dc7-4144-9e46-d6513723333e
BridgeID: 299de6ea-1dc7-4144-9e46-d6513723333e
Linkedid: 1481806671.27
Linkedid: 1481806671.27
Application: Park
Application: Park
Data:  
Data:  
Nativeformats: (ulaw)
Nativeformats: (ulaw)
Readformat: ulaw
Readformat: ulaw
Readtrans:  
Readtrans:  
Writeformat: gsm
Writeformat: gsm
Writetrans: (gsm@8000)->(slin@8000)->(ulaw@8000)
Writetrans: (gsm@8000)->(slin@8000)->(ulaw@8000)
Callgroup: 0
Callgroup: 0
Pickupgroup: 0
Pickupgroup: 0
Seconds: 2
Seconds: 2
Variable: SIPCALLID=1945371327@pluto.pchero21.com
Variable: SIPCALLID=1945371327@pluto.pchero21.com
Variable: SIPDOMAIN=pluto.pchero21.com
Variable: SIPDOMAIN=pluto.pchero21.com
Variable: SIPURI=sip:300@10.1.27.60:5060
Variable: SIPURI=sip:300@10.1.27.60:5060
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
 
 
Event: StatusComplete
Event: StatusComplete
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
EventList: Complete
EventList: Complete
ListItems: 1
ListItems: 1
Items: 1
Items: 1
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Status
 
== StopMixMonitor ==
Stop recording a call through MixMonitor, and free the recording's file handle.
 
This action stops the audio recording that was started with the MixMonitor action on the current channel.
<pre>
Action: StopMixMonitor
ActionID: <value>
Channel: <value>
[MixMonitorID:] <value>
</pre>
* Channel : The name of the channel monitored.
* MixMonitorID : If a valid ID is provided, then this command will stop only that specific MixMonitor.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_StopMixMonitor
 
== StopMonitor ==
Stop monitoring a channel.
 
This action may be used to end a previously started 'Monitor' action.
<pre>
Action: StopMonitor
ActionID: <value>
Channel: <value>
</pre>
* Channel : The name of the channel monitored.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_StopMonitor
 
== UnpoauseMonitor ==
Unpause monitoring of a channel.
 
This action may be used to re-enable recording of a channel after calling PauseMonitor.
<pre>
Action: UnpauseMonitor
ActionID: <value>
Channel: <value>
</pre>
* Channel : Used to specify the channel to record.
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UnpauseMonitor
 
== UpdateConfig ==
Update basic configuration.
 
This action will modify, create, or delete configuration elements in Asterisk configuration files.
<pre>
Action: UpdateConfig
ActionID: <value>
SrcFilename: <value>
DstFilename: <value>
Reload: <value>
PreserveEffectiveContext: <value>
Action-000000: <value>
Cat-000000: <value>
Var-000000: <value>
Value-000000: <value>
Match-000000: <value>
Line-000000: <value>
Options-000000: <value>
</pre>
* SrcFilename : Configuration filename to read (e.g. foo.conf).
* DstFilename : Configuration filename to write (e.g. foo.conf).
* Reload : Whether or not a reload should take place (or name of specific module).
* PreserveEffectiveContext : Whether the effective category contents should be preserved on template change. Default is true.
* Action-000000 : Action to take. 0's represent 6 digit number beginning with 000000.
: NewCat : 지정된 카테고리를 새로 생성한다.
: RenameCat : 지정된 카테고리의 이름을 변경한다.
: DelCat : 지정된 카테고리를 삭제한다.
: EmptyCat : 지정된 카테고리의 내용을 비운다.
: Update : 지정된 카테고리/아이템 의 내용을 변경한다.
: Delete : 지정된 카테고리/아이템 의 내용을 삭제한다.
: Append : 지정된 카테고리/아이템 에 value 를 추가한다.
: Insert : 지정된 카테고리/아이템/라인 에 value 를 추가한다.
* Cat-000000 : Category to perate on. 0's represent 6 digit number beginning with 000000.
* Var-000000 : Variable to work on. 0's represent 6 digit number beginning with 000000.
* Value-000000 : Value to work on. 0's represent 6 digit number beginning with 000000.
* Match-000000 : Extra match required to match line. 0's represent 6 digit number beginning with 000000.
* Line-000000 : Line in category to operate on (used with delete and insert actions).
* Options-000000 : A comma separated list of action-specific options.
 
=== Example ===
<pre>
Action: UpdateConfig
SrcFilename: voicemail.conf
DstFilename: voicemail.conf
Reload: false
Action-000000: Append
Cat-000000: vm-demo
Var-000000: 6002
Value-000000: 9271,Bob Smith,bob@example.com,bob2@example.com,attach=yes|tz=eastern
 
Response: Success
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UpdateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_GetConfigJSON
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_CreateConfig
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_ListCategories
 
== UserEvent ==
Send an arbitrary event.
 
Send an event to manager sessions.
<pre>
Action: UserEvent
ActionID: <value>
UserEvent: <value>
Header1: <value>
HeaderN: <value>
</pre>
* UserEvent : Event string to send.
* Header1 : Content 1
* HeaderN : Content N
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_UserEvent
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerEvent_UserEvent
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Application_UserEvent
 
== VoicemailRefresh ==
Tell Asterisk to poll mailboxes for a change.
 
Normally, MWI indicators are only sent when Asterisk itself changes a mailbox. With external programs that modify the content of a mailbox from outside the application, an option exists called pollmailboxes that will cause voicemail to continually scan all mailboxes on a system for changes. This can cause a large amount of load on a system.
 
This command allows external applications to signal when a particular mailbox has changed, thus permitting external applications to modify mailboxes and MWI to work without introducing considerable CPU load.
 
If Context is not specified, all mailboxes on the system will be polled for changes. If Context is specified, but Mailbox is omitted, then all mailboxes within Context will be polled. Otherwise, only a single mailbox will be polled for changes.
<pre>
Action: VoicemailRefresh
ActionID: <value>
Context: <value>
Mailbox: <value>
</pre>
* Context
* Mailbox
 
=== Example ===
<pre>
Action: VoicemailRefresh
Context: vm-demo
Mailbox: agent-01
 
Response: Success
Message: Refresh sent
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_VoicemailRefresh
 
== VoicemailUserList ==
List All Voicemail User Information.
<pre>
Action: VoicemailUsersList
ActionID: <value>
</pre>
 
=== Example ===
<pre>
Action: VoicemailUsersList
 
Response: Success
EventList: start
Message: Voicemail user list will follow
 
Event: VoicemailUserEntry
VMContext: default
VoiceMailbox: 1234
Fullname: Example Mailbox
Email: root@localhost
Pager:
ServerEmail: asterisk
FromString:
MailCommand: /usr/sbin/sendmail -t
Language:
TimeZone:
Callback:
Dialout:
UniqueID:
ExitContext:
SayDurationMinimum: 2
SayEnvelope: Yes
SayCID: No
AttachMessage: Yes
AttachmentFormat:
DeleteMessage: No
VolumeGain: 0.00
CanReview: No
CallOperator: No
MaxMessageCount: 100
MaxMessageLength: 0
NewMessageCount: 6
 
...
 
Event: VoicemailUserEntryComplete
EventList: Complete
ListItems: 8
</pre>
 
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_VoicemailUsersList
 
== WaitEvent ==
Wait for an event to occur.
 
This action will elicit a Success response. Whenever a manager event is queued. Once WaitEvent has been called on an HTTP manager session, events will be generated and queued.
<pre>
Action: WaitEvent
ActionID: <value>
Timeout: <value>
</pre>
</pre>
* Timeout : Maximum time (in seconds) to wait for events, -1 means forever.


=== See also ===
=== See also ===
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Status
* https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_WaitEvent


== See also ==
== See also ==

Latest revision as of 10:36, 8 May 2018

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

Help

Action 도움말 확인법

vpbx120*CLI> manager show command Logoff 
[Syntax]
Action: Logoff
[ActionID:] <value>

[Synopsis]
Logoff Manager. 

[Description]
Logoff the current manager session.

[Arguments]
ActionID
    ActionID for this transaction. Will be returned.

[See Also]
Not available

AbsoluteTimeout

Absolute timeout 을 설정한다.

지정된 시간(초) 이후에 자동으로 채널을 종료한다.

Action: AbsoluteTimeout
ActionID: <value>
Channel: <value>
Timeout: <value>
  • ActionID
  • Channel : Channel name to hangup.
  • Timeout : Maximum duration of the call (sec).

Example

Action: AbsoluteTimeout
ActionID: 66a9dbf0-dfb1-4382-8055-c5caed9bddb7
Channel: SIP/agent-01-00000003
Timeout: 30

Response: Success
ActionID: 66a9dbf0-dfb1-4382-8055-c5caed9bddb7
Message: Timeout Set

See also

AgentLogoff

Sets an agent as no longer logged in.

Agent 를 logoff 한다.

Action: AgentLogoff
ActionID: <value>
Agent: <value>
Soft: <value>
  • ActionID
  • Agent : ID of the agent to log off.
  • Soft : Set to true to not hangup existing calls.

See also

Agents

등록되어 있는 모든 agent 와 status 를 보여준다.

Action: Agents
ActionID: <value>
  • ActionID

Example

Action: Agents

Response: Success
EventList: start
Message: Agents will follow

Event: Agents
Agent: 10001
Name: agent 10001
Status: AGENT_LOGGEDOFF

Event: AgentsComplete
EventList: Complete
ListItems: 1

See also

AGI

Add an AGI command to execute by Async AGI.

Add an AGI command to the execute queue of the channel in Async AGI.

Action: AGI
ActionID: <value>
Channel: <value>
Command: <value>
CommandID: <value>
  • ActionID
  • Channel : Channel that is currently in Async AGI.
  • Command : Application to execute
  • CommandID : This will be sent back in CommandID header of AsyncAGI exec event notification.

Example

Normal case

Action: AGI
Channel: PJSIP/pjagent-02-00000006
Command: Answer
CommandID: 77cdcf4c-feed-11e7-bd12-5b24ee4818c3

Response: Success
Message: Added AGI command to queue
Action: AGI
Channel: PJSIP/199-00000024
Command: EXEC Playback hello-world

Response: Success
Message: Added AGI command to queue

Error case

Action: AGI
Channel: SIP/agent-01-00000007
Command: Hangup

Response: Error
Message: Failed to add AGI command to channel SIP/agent-01-00000007 queue

See also

AOCMessage

Generate an Advice of Charge message on a channel.

Generates an AOC-D or AOC-E message on a channel.

Action: AOCMessage
ActionID: <value>
Channel: <value>
ChannelPrefix: <value>
MsgType: <value>
ChargeType: <value>
UnitAmount(0): <value>
UnitType(0): <value>
CurrencyName: <value>
CurrencyAmount: <value>
CurrencyMultiplier: <value>
TotalType: <value>
AOCBillingId: <value>
ChargingAssociationId: <value>
ChargingAssociationNumber: <value>
ChargingAssociationPlan: <value>
  • ActionID
  • Channel : Channel name to generate the AOC message on.
  • ChannelPrefix : Partial channel prefix. By using this option one can match the beginning part of a channel name without having to put the entire name in. For example if a channel name is SIP/snom-00000001 and this value is set to SIP/snom, then that channel matches and the message will be sent. Note however that only the first matched channel has the message sent on it.
  • MsgType : Defines what type of AOC message to create, AOC-D or AOC-E.
D : 통화 중에 전송되는 AOC Message(Advice of Charge message is sent during a call).
E : 통화가 완료된 후에 전송되는 AOC Message(Advice of Charge message is sent at the end of a call).
  • ChargeType : Defines what kind of charge this message represents.
NA
FREE
Currency
Unit
  • UnitAmount(0) : This represents the amount of units charged. The ETSI AOC standard specifies that this value along with the optional UnitType value are entries in a list. To accommodate this these values take an index value starting at 0 which can be used to generate this list of until entries. For Example, if two unit entries were required this could be achieved by setting the parameter UnitAmount(0)=1234 and UnitAmount(1)=5678. Note that UnitAmount at index 0 is required when ChargeType=Unit, all other entries in the list are optional.
  • UnitType(0) : Defines the type of unit. ETSI AOC standard specifies this as an integer value between 1 and 16, but this value is left open to accept any positive integer. Like the UnitAmount parameter, this value represents a list entry and has an index parameter that starts at 0.
  • CurrencyName : Specifies the currency's name. Note that this value is truncated after 10 characters.
  • CurrencyAmount : Specifies the charge unit amount as a positive integer. This value is required when ChargeType==Currency.
  • CurrencyMultiplier : Specifies the currency multiplier. This value is required when ChargeType==Currency.
OneThousandth
OneHundredth
OneTenth
One
Ten
Hundred
Thousand
  • TotalType : Defines what kind of AOC-D total is represented.
Total
SubTotal
  • AOCBillingId : Represents a billing ID associated with an AOC-D or AOC-E message. Note that only the first 3 items of the enum are valid AOC-D billing IDs.
Normal
ReverseChage
CreditCard
CallFwdUnconditional
CallFwdBusy
CallFwdNoReply
CallDeflection
CallTransfer
  • ChargingAssociationId : Charging association identifier. This is optional for AOC-E and can be set to any value between -32768 and 32767.
  • ChargingAssociationNumber : Represents the charging association party number. This value is optional for AOC-E.
  • ChargingAssociationPlan : Integer representing the charging plan associated with the ChargingAssociationNumber. The value is bits 7 through 1 of the Q.931 octet containing the type-of-number and numbering-plan-identification fields.

Example

Action: AOCMessage
Channel: SIP/agent-01-00000008
MsgType: D
ChargeType: Currency
UnitAmout(0): 1000
UnitType(0): 1
CurrencyName: USD
CurrencyAmount: 132
CurrencyMultiplier: One
TotalType: SubTotal

Response: Success
Message: AOC Message successfully queued on channel

See also

Atxfer

Attended transfer.

Action: Atxfer
ActionID: <value>
Channel: <value>
Exten: <value>
Context: <value>
  • ActionID
  • Channel : Transfer's channel.
  • Exten : Extension to transfer to.
  • Context : Context to transfer to.

See also

BlindTransfer

Blind transfer channel(s) to the given destination.

Redirect all channels currently bridged to the specified channel to the specified destination.

Action: BlindTransfer
Channel: <value>
Context: <value>
Exten: <value>
  • Channel
  • Context
  • Exten

Example

Success

Action: BlindTransfer
Channel: SIP/agent-01-00000005
Context: sample_musiconhold
Exten: s


Response: Success
Message: Transfer succeeded


Event: BlindTransfer
Privilege: call,all
Result: Success
TransfererChannel: SIP/agent-01-00000005
TransfererChannelState: 6
TransfererChannelStateDesc: Up
TransfererCallerIDNum: agent-01
TransfererCallerIDName: <unknown>
TransfererConnectedLineNum: <unknown>
TransfererConnectedLineName: <unknown>
TransfererLanguage: en
TransfererAccountCode: 
TransfererContext: park-dial
TransfererExten: SIP_agent-01
TransfererPriority: 1
TransfererUniqueid: 1481706048.11
TransfererLinkedid: 1481706048.11
TransfereeChannel: SIP/agent-01-00000006
TransfereeChannelState: 6
TransfereeChannelStateDesc: Up
TransfereeCallerIDNum: SIP_agent-01
TransfereeCallerIDName: <unknown>
TransfereeConnectedLineNum: agent-01
TransfereeConnectedLineName: <unknown>
TransfereeLanguage: en
TransfereeAccountCode: 
TransfereeContext: public
TransfereeExten: 
TransfereePriority: 1
TransfereeUniqueid: 1481706093.12
TransfereeLinkedid: 1481706048.11
BridgeUniqueid: b9ad516f-984d-4dce-a465-d95690edc656
BridgeType: basic
BridgeTechnology: native_rtp
BridgeCreator: <unknown>
BridgeName: <unknown>
BridgeNumChannels: 2
IsExternal: Yes
Context: sample_musiconhold
Extension: s

Fail

Action: BlindTransfer
Channel: SIP/agent-01-00000002
Exten: s
Context: sample_musiconhold

Response: Error
Message: Transfer invalid

Event: BlindTransfer
Privilege: call,all
Result: Invalid
TransfererChannel: SIP/agent-01-00000002
TransfererChannelState: 6
TransfererChannelStateDesc: Up
TransfererCallerIDNum: agent-01
TransfererCallerIDName: <unknown>
TransfererConnectedLineNum: <unknown>
TransfererConnectedLineName: <unknown>
TransfererLanguage: en
TransfererAccountCode: 
TransfererContext: sample_park
TransfererExten: s
TransfererPriority: 2
TransfererUniqueid: 1481705835.4
TransfererLinkedid: 1481705835.4
BridgeUniqueid: 299de6ea-1dc7-4144-9e46-d6513723333e
BridgeType: parking
BridgeTechnology: holding_bridge
BridgeCreator: Parking
BridgeName: default
BridgeNumChannels: 1
IsExternal: Yes
Context: sample_musiconhold
Extension: s

See also

Bridge

2 개의 채널을 연결시킨다.

Action: Bridge
ActionID: <value>
Channel1: <value>
Channel2: <value>
Tone: <value>
  • ActionID : ActionID for this transaction. Will be returned.
  • Channel1 : Channel to Bridge to Channel2.
  • Channel2 : Channel to Bridge to Channel1.
  • Tone : Play courtesy tone to Channel2.
no
Channel1
Channel2
Both

Example

Action: Bridge
Channel1: SIP/agent-01-00000000
Channel2: SIP/agent-02-00000001
ActionID: 61187bf7-6ef3-4fb5-aab6-42ac52ff0878

Response: Success
ActionID: 61187bf7-6ef3-4fb5-aab6-42ac52ff0878
Message: Channels have been bridged

See also

BridgeDestroy

Destroy a bridge.

Deletes the bridge, causing channels to continue or hang up.

Action: BridgeDestroy
ActionID: <value>
BridgeUniqueid: <value>
  • ActionID
  • BridgeUniqueid : The unique ID of the bridge to destroy.

See also

BridgeInfo

지정한 Bridge 의 상세 정보를 요청한다.

Get information about a bridge. Returns detailed information about a bridge and the channels in it.

Action: BridgeInfo
ActionID: <value>
BridgeUniqueid: <value>
  • ActionID
  • BridgeUniqueid : The unique ID of the bridge about which to retrieve information.

Example

Success

Action: BridgeInfo
BridgeUniqueid: 299de6ea-1dc7-4144-9e46-d6513723333e
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1

Response: Success
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1
EventList: start
Message: Bridge channel listing will follow

Event: BridgeInfoChannel
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1
Channel: SIP/agent-01-0000000a
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: agent-01
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 
Context: sample_park
Exten: s
Priority: 2
Uniqueid: 1481708311.23
Linkedid: 1481708311.23

Event: BridgeInfoComplete
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1
EventList: Complete
ListItems: 1
BridgeUniqueid: 299de6ea-1dc7-4144-9e46-d6513723333e
BridgeType: parking
BridgeTechnology: holding_bridge
BridgeCreator: Parking
BridgeName: default
BridgeNumChannels: 1

Fail

Action: BridgeInfo
BridgeUniqueid: 299de6ea-1dc7-4144-9e46-d6513723333eddd
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1

Response: Error
ActionID: d3bb2f6b-7e92-45c7-b01b-72d45143b8d1
Message: Specified BridgeUniqueid not found

BridgeKick

Kick a channel from a bridge.

The channel is removed from the bridge.

Action: BridgeKick
ActionID: <value>
[BridgeUniqueid:] <value>
Channel: <value>
  • ActionID
  • BridgeUniqueid : The unique ID of the bridge containing the channel to destroy. This parameter can be omitted, or supplied to insure that the channel is not removed from the wrong bridge.
  • Channel : The channel to kick out of a bridge.

See also

BridgeList

Get a list of bridges in the system.

Returns a list of bridges, optionally filtering on a bridge type.

Action: BridgeList
ActionID: <value>
BridgeType: <value>
  • ActionID
  • BridgeType : Optional type for filtering the resulting list of bridges.

Example

Action: BridgeList
ActionID: 692667eb-6c9b-4b7a-bb49-30c6ade671e3

Response: Success
ActionID: 692667eb-6c9b-4b7a-bb49-30c6ade671e3
EventList: start
Message: Bridge listing will follow

Event: BridgeListItem
ActionID: 692667eb-6c9b-4b7a-bb49-30c6ade671e3
BridgeUniqueid: 299de6ea-1dc7-4144-9e46-d6513723333e
BridgeType: parking
BridgeTechnology: holding_bridge
BridgeCreator: Parking
BridgeName: default
BridgeNumChannels: 0

Event: BridgeListComplete
ActionID: 692667eb-6c9b-4b7a-bb49-30c6ade671e3
EventList: Complete
ListItems: 1

See also

BridgeTechnologyList

List available bridging technologies and their statuses.

Returns detailed information about the available bridging technologies.

Action: BridgeTechnologyList
ActionID: <value>

Example

Action: BridgeTechnologyList
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b

Response: Success
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b
EventList: start
Message: Bridge technology listing will follow

Event: BridgeTechnologyListItem
BridgeTechnology: holding_bridge
BridgeType: Holding
BridgePriority: 50
BridgeSuspended: No
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b

Event: BridgeTechnologyListItem
BridgeTechnology: simple_bridge
BridgeType: 1to1Mix
BridgePriority: 50
BridgeSuspended: No
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b

Event: BridgeTechnologyListItem
BridgeTechnology: softmix
BridgeType: MultiMix
BridgePriority: 10
BridgeSuspended: No
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b

Event: BridgeTechnologyListItem
BridgeTechnology: native_rtp
BridgeType: Native
BridgePriority: 90
BridgeSuspended: No
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b

Event: BridgeTechnologyListComplete
ActionID: 049b03bf-3a2b-493c-a2b1-0616293fe08b
EventList: Complete
ListItems: 4

See also

BridgeTechnologySuspend

Suspend a bridging technology.

Marks a bridging technology as suspended, which prevents subsequently created bridges from using it.

Action: BridgeTechnologySuspend
ActionID: <value>
BridgeTechnology: <value>
  • BridgeTechnology : The name of the bridging technology to suspend.

Example

Action: BridgeTechnologySuspend
ActionID: 58284e65-4cec-48e3-ba8f-203517974bc3
BridgeTechnology: softmix

Response: Success
ActionID: 58284e65-4cec-48e3-ba8f-203517974bc3
Message: Suspended bridge technology

See also

BridgeTechnologyUnsuspend

Unsuspend a bridging technology.

Clears a previously suspended bridging technology, which allows subsequently created bridges to use it.

Action: BridgeTechnologyUnsuspend
ActionID: <value>
BridgeTechnology: <value>
  • ActionID
  • BridgeTechnology : The name of the bridging technology to unsuspend.

Example

Action: BridgeTechnologyUnsuspend
ActionID: 9bb6fb44-e605-4b4b-8c3b-d12c9821f926
BridgeTechnology: softmix

Response: Success
ActionID: 9bb6fb44-e605-4b4b-8c3b-d12c9821f926
Message: Unsuspended bridge technology

See also

Challenge

Generate Challenge for MD5 Auth.

Generate a challenge for MD5 authentication.

Action: Challenge
ActionID: <value>
AuthType: <value>
  • ActionID
  • AuthType : Digest algorithm to use in the challenge.
MD5

Example

Action: Challenge
ActionID: 8189894c-80c9-4566-b4f6-6e542abdc169
AuthType: MD5

Response: Success
ActionID: 8189894c-80c9-4566-b4f6-6e542abdc169
Challenge: 576396885

See also

ChangeMonitor

Change monitoring filename of a channel.

This action may be used to change the file started by a previous "Monitor" action.

Action: ChangeMonitor
ActionID: <value>
Channel: <value>
File: <value>
  • ActionID
  • Channel : Used to specify the channel to record.
  • File : Is the new name of the file created in the monitor spool directory.

See also

Command

Asterisk CLI 명령어를 실행한다.

Action: Command
ActionID: <value>
Command: <value>
  • ActionID
  • Command : 실행하고자 하는 Asterisk CLI 명령어.

Example

Action: Command
Command: sip show peers

Response: Success
Message: Command output follows
Output: Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
Output: 200/200                   (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: 201/201                   (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: 202/202                   (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: 300/300                   (Unspecified)                            D  Auto (No)  No             0        UNKNOWN                                      
Output: 301/301                   (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: 302/302                   (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: agent-01/agent-01         (Unspecified)                            D  Auto (No)  No             0        UNKNOWN                                      
Output: agent-02/agent-02         (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: agent-03/agent-03         (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: client-01                 (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: client-02                 (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: client-03                 (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
Output: 12 sip peers [Monitored: 0 online, 2 offline Unmonitored: 0 online, 10 offline]

See also

ConfbridgeKick

Kick a Confbridge user.

Action: ConfbridgeKick
ActionID: <value>
Conference: <value>
Channel: <value>
  • ActionID
  • Conference
  • Channel : If this parameter is "all", all channels will be kicked from the conference. If this parameter is "paricipants", all non-admin channels will be kicked from the conference.

See also

ConfbridgeList

List prticipants in a conference.

Lists all users in a particular ConfBridge conference. ConfbridgeList will follow as separate events, followed by a final event called ConfbridgeListComplete.

Action: ConfbridgeList
ActionID: <value>
Conference: <value>

Example

Error

Action: ConfbridgeList

Response: Error
Message: No Conference name provided.

See also

ConfbridgeListRooms

현재 사용중인 conference 의 목록을 보여준다.

Lists data about all active conferences. ConfbridgeListRooms will follow as separate events, followed by a final event called ConfbridgeListRoomsComplete.

Action: ConfbridgeListRooms
ActionID: <value>

Example

Error

Action: ConfbridgeListRooms

Response: Error
Message: No active conferences.

ConfbridgeLock

Lock a Confbridge conference.

Action: ConfbridgeLock
ActionID: <value>
Conference: <value>
  • ActionID
  • Conference

Example

Error

Action: ConfbridgeLock

Response: Error
Message: No Conference name provided.

See also

ConfbridgeMute

Mute a Confbridge user.

Action: ConfbridgeMute
ActionID: <value>
Conference: <value>
Channel: <value>
  • ActionID
  • Conference
  • Channel : If this parameter is not a complete channel name, the first channel with this prefix will be used. If this parameter is "all", all channels will be muted. If this parameter is "participants", all non-admin channels will be muted.

Example

Error

Action: ConfbridgeMute

Response: Error
Message: No Conference name provided.

See also

ConfbridgeSetSingleVideoSrc

Set a conference user as the single video source distributed to all other pariticipants.

Action: ConfbridgeSetSingleVideoSrc
ActionID: <value>
Conference: <value>
Channel: <value>
  • ActionID
  • Conference
  • Channel : If this parameter is not a complete channel name, the first channel with this prefix will be used.

Example

Error

Action: ConfbridgeSetSingleVideoSrc

Response: Error
Message: No Conference name provided.

See also

ConfbridgeStartRecord

Start recording a Confbrige conference.

Start recording a conference. If recording is already present an error will be returned. If RecordFile is not provided, the default record file specified in the conference's bridge profile will be used, if that is not present either a file will automatically be generated in the monitor directory.

Action: ConfbridgeStartRecord
ActionID: <value>
Conference: <value>
[RecordFile:] <value>
  • ActionID
  • Conference
  • RecordFile

Example

Error

Action: ConfbridgeStartRecord

Response: Error
Message: No Conference name provided.

See also

ConfbridgeStopRecord

Stop recording a Confbridge conference.

Action: ConfbridgeStopRecord
ActionID: <value>
Conference: <value>
  • ActionID
  • Conference

Example

Error

Action: ConfbridgeStopRecord

Response: Error
Message: No Conference name provided.

See also

ConfbridgeUnlock

Unlock a Confbridge conference.

Action: ConfbridgeUnlock
ActionID: <value>
Conference: <value>
  • ActionID
  • Conference

Example

Error

Action: ConfbridgeUnlock

Response: Error
Message: No Conference name provided.

See also

ConfbridgeUnmute

Unmute a Confbridge user.

Action: ConfbridgeUnmute
ActionID: <value>
Conference: <value>
Channel: <value>
  • ActionID
  • Conference
  • Channel : If this parameter is not a complete channel name, the first channel with this prefix will be used. If this parameter is "all", all channels will be unmuted. If this parameter is "pariticipants", all non-admin channels will be unmuted.

Example

Error

Action: ConfbridgeUnmute

Response: Error
Message: No Conference name provided.

See also

ControlPlayback

채널에 재생되는 playback file 을 제어한다.

채널에 재생되는 playback media file 를 제어한다. 파일을 재생하는 것이 아니라, 이미 initiated 된 media file 에 대해 제어를 하는것임에 유의해야 한다.

Control the playback of a file being played to a channel.

Control the operation of a media file being played back to a channel. Note that this AMI action does not initiate playback of media to channel, but rather controls the operation of a media operation that was already initiated on the channel.

The pause and restart control options will stop at playback operation if that operation was not initated from the ControlPlayback application or the control stream file AGI command.

Action: ControlPlayback
ActionID: <value>
Channel: <value>
Control: <value>
  • ActionID
  • Channel : The name of the channel that currently has a file being played back to it.
  • Control
stop : Stop the playback operation.
forward : Move the current potition in the media forward. The amount of time that the stream moves forward is determined by the skipms value passed to the application that initiated the playback. The default skipms value is 3000 ms.
reverse : Move the current position in the media backward. The amount of time that the stream moves backward is determined by the skipms value passed to the application that initiated the playback. The default skipms value is 3000 ms.
pause : Pause/unpause the playback operation, if supported. If not supported, stop the playback.
restart : Restart the palyback operation, if supported. If not supported, stop the playback.

Example

Normal stop

Action: ControlPlayback
Channel: SIP/300-00000000
Control: stop

Response: Success

Error

Action: ControlPlayback

Response: Error
Message: Channel not specified

See also

CoreSettings

Show PBX core settings(version etc).

Query for Core PBX settings.

Action: CoreSettings
ActionID: <value>
  • ActionID

Example

Action: CoreSettings

Response: Success
AMIversion: 2.8.0
AsteriskVersion: 14.1.1
SystemName: 
CoreMaxCalls: 0
CoreMaxLoadAvg: 0.000000
CoreRunUser: 
CoreRunGroup: 
CoreMaxFilehandles: 0
CoreRealTimeEnabled: No
CoreCDRenabled: Yes
CoreHTTPenabled: No

See also

CoreShowChannels

현재 활성화되어 있는 채널의 목록을 보여준다.

목록과 함께 간단한 채널 정보를 나타낸다.

Action: CoreShowChannels
ActionID: <value>
  • ActionID

Example

Action: CoreShowChannels

Response: Success
EventList: start
Message: Channels will follow

Event: CoreShowChannel
Channel: SIP/300-00000001
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 
Context: sample_musiconhold
Exten: s
Priority: 3
Uniqueid: 1483520582.2
Linkedid: 1483520582.2
Application: MusicOnHold
ApplicationData: 
Duration: 00:00:03
BridgeId: 

Event: CoreShowChannelsComplete
EventList: Complete
ListItems: 1

See also

CoreStatus

Show PBX core status variables.

Query for Core PBX status.

Action: CoreStatus
ActionID: <value>
  • ActionID

Example

Action: CoreStatus

Response: Success
CoreStartupDate: 2016-12-31
CoreStartupTime: 18:17:30
CoreReloadDate: 2016-12-31
CoreReloadTime: 18:17:30
CoreCurrentCalls: 0

See also

CreateConfig

Configuration directory 에 빈 파일을 생성한다. 보통 UpdateConfig action 과 같이 사용된다.

Create an empty file in the configuration directory.

This action will create an empty file in the configuration directory. This action is intended to be used before an UpdateConfig action.

Action: CreateConfig
ActionID: <value>
Filename: <value>

Example

Action: CreateConfig
Filename: test.conf

Response: Success
Message: New configuration file created successfully

See also

DAHDIDialOffhook

Dial over DAHDI channel while offhook.

Generate DTMF control frames to the bridged peer.

Action: DAHDIDialOffhook
ActionID: <value>
DAHDIChannel: <value>
Number: <value>
  • ActionID
  • DAHDIChannel : DAHDI channel number to dial digits.
  • Number : Digits to dial.

See also

DAHDIDNDoff

Toggle DAHDI channel Do Not Disturb status OFF.

Equivalent to the CLI command "dahdi set dnd channel off".

Feature only supported by analog channel.
Action: DAHDIDNDoff
ActionID: <value>
DAHDIChannel: <value>
  • ActionID
  • DAHDIChannel : DAHDI channel number to set DND off.

See also

DAHDIDNDon

Toggle DAHDI channel Do Not Disturb status ON.

Equivalent to the CLI command "dahdi set dnd channel on".

Feature only supported by analog channels.
Action: DAHDIDNDon
ActionID: <value>
DAHDIChannel: <value>
  • ActionID
  • DAHDIChannel : DAHDI channel number to set DND on.

See also

DAHDIHangup

Hangup DAHDI Channel.

Simulate an on-hook event by the user connected to the channel.

Valid only for analog channels.
Action: DAHDIHangup
ActionID: <value>
DAHDIChannel: <value>
  • ActionID
  • DAHDIChannel : DAHDI chnnel number to hangup.

See also

DAHDIRestart

Fully Restart DAHDI channels(terminates calls).

Equivalent to the CLI command "dahdi restart".

Action: DAHDIRestart
ActionID: <value>
  • ActionID

See also

DAHDIShowChannels

Show status of DAHDI channels.

Similar to the CLI command "dahdi show channels".

Action: DAHDIShowChannels
ActionID: <value>
DAHDIChannel: <value>
  • ActionID
  • DAHDIChannel : Specify the specify channel number to show. Show all channels if zero or not present.

See also

DAHDITransfer

Transfer DAHDI Channel.

Simulate a flash hook by the user connected to the channel.

Valid only for analog channels.
Action: DAHDITransfer
ActionID: <value>
DAHDIChannel: <value>
  • ActionID
  • DAHDIChannel : DAHDI channel number to transfer.

See also

DataGet

Retrieve the data api tree.

Action: DataGet
ActionID: <value>
Path: <value>
Search: <value>
Filter: <value>
  • ActionID
  • Path
  • Search
  • Filter

Example

Normal

Action: DataGet
Path: /asterisk/channel/sip/peers
Search: peers/peer/name=agent-01

Event: DataGet Tree
1-peers.peer.vmexten: asterisk
1-peers.peer.is_realtime: False
2-peers.peer.amaflags.text: Unknown
2-peers.peer.amaflags.value: 0
1-peers.peer.transports: UDP
1-peers.peer.inuse: 0
1-peers.peer.timer_t1: 500
3-peers.peer.callingpres.text: Presentation Allowed, Not Screened
3-peers.peer.callingpres.value: 0
1-peers.peer.unsolicited_mailbox: 
1-peers.peer.host_dynamic: True
1-peers.peer.subscribecontext: 
1-peers.peer.useragent: Blink 1.4.2 (Linux)
...

Error

Action: DataGet

Response: Error
Message: 'Path' parameter not specified

See also

DBDel

Delete DB entry.

Action: DBDel
ActionID: <value>
Family: <value>
Key: <value>
  • ActionID
  • Family
  • Key

Example

Action: DBDel
Family: TestFamily
Key: Testkey

Response: Success
Message: Key deleted successfully

See also

DBDelTree

Delete DB Tree.

Action: DBDelTree
ActionID: <value>
Family: <value>
Key: <value>
  • ActionID
  • Family
  • Key

See also

DBGet

Get DB Entry

Action: DBGet
ActionID: <value>
Family: <value>
Key: <value>
  • ActionID
  • Family
  • Key

Example

Normal

Action: DBGet
Family: pbx
Key: UUID

Response: Success
EventList: start
Message: Result will follow

Event: DBGetResponse
Family: pbx
Key: UUID
Val: 5c734b17-7f60-477d-b350-cf972c5e4ebb

Event: DBGetComplete
EventList: Complete
ListItems: 1

Error

Action: DBGet
Family: Queue
Key: *

Response: Error
Message: Database entry not found

See also

DBPut

Put DB entry.

Action: DBPut
ActionID: <value>
Family: <value>
Key: <value>
Val: <value>
  • ActionID
  • Family
  • Key
  • Val

Example

Action: DBPut
Family: TestFamily
Key: Testkey
Val: TestVal

Response: Success
Message: Updated database successfully

See also

DeviceStateList

List the current known device states.

This will list out all known device states in a sequence of DeviceStateChange events. When finished, a DeviceStateListComplete event will be emitted.

Action: DeviceStateList
ActionID: <value>
  • ActionID

Example

Action: DeviceStateList

Response: Success
EventList: start
Message: Device State Changes will follow

Event: DeviceStateChange
Device: SIP/300
State: UNAVAILABLE

...

Event: DeviceStateListComplete
EventList: Complete
ListItems: 13

See also

DialplanExtensionAdd

Enable since Asterisk-13

Dialplan 에 Extension 을 추가한다.

Action: DialplanExtensionAdd
ActionID: <value>
Context: <value>
Extension: <value>
Priority: <value>
Application: <value>
[ApplicationData:] <value>
[Replace:] <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Context - Context where the extension will be created. The context will be created if it does not already exist.
  • Extension - Name of the extension that will be created (may include callerid match by separating with '/')
  • Priority - Priority being added to this extension. Must be either hint or a numerical value.
  • Application - The application to use for this extension at the requested priority
  • ApplicationData - Arguments to the application.
  • Replace - If set to 'yes', '1', 'true' or any of the other values we evaluate as true, then if an extension already exists at the requested context, extension, and priority it will be overwritten. Otherwise, the existing extension will remain and the action will fail.

Example

Action: DialplanExtensionAdd
ActionID: 123456
Context: test_dialplan
Extension: test_exten
Priority: 1
Application: echo

Response: Success
ActionID: 123456
Message: Added requested extension

See also

DialplanExtensionRemove

Enable since Asterisk-13

Dialplan 에서 Extension 을 삭제한다.

Action: DialplanExtensionRemove
ActionID: <value>
Context: <value>
Extension: <value>
[Priority:] <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Context - Context of the extension being removed
  • Extension - Name of the extension being removed (may include callerid match by separating with '/')
  • Priority - If provided, only remove this priority from the extension instead of all priorities in the extension.

Example

Action: DialplanExtensionRemove
ActionID: 999
Context: test_dialplan
Extension: test_exten

Response: Success
ActionID: 999
Message: Removed the requested extension

See also

Events

Control Event Flow.

수신하는 Event 를 on/off 한다. Off 로 설정할 경우, 모든 종류의 Event notify 수신을 거부하게 된다.

Action: Events
ActionID: <value>
EventMask: <value>
  • ActionID
  • EventMask
on : If all events should be sent.
off : if no events should be sent.
system, call, log, ... : To select which flags events should have to be sent.

Example

Action: Events
Eventmask: off

Response: Success
Events: Off

See also

ExtensionState

Check Extension Status.

Report the extension state for given extension. If the extension has a hint, will use devicestate to check the status of the device connected to the extension. Will return an Extension Status message. The response will include the hint for the extension and the status.

Action: ExtensionState
ActionID: <value>
Exten: <value>
Context: <value>
  • ActionID
  • Exten : Extension to check state on.
  • Context : Context for extension.

Example

Action: ExtensionState
Exten: agent-01
Context: public

Response: Success
Message: Extension Status
Exten: agent-01
Context: public
Hint: 
Status: -1
StatusText: Unknown

See also

ExtensionStateList

List the current known extension states.

This will list out all known extension states in a sequence of ExtensionStatus events. When finished, a ExtensionStateListComplete event will be emitted.

Action: ExtensionStateList
ActionID: <value>
  • ActionID

Example

Action: ExtensionStateList

Response: Success
EventList: start
Message: Extension Statuses will follow

Event: ExtensionStatus
Exten: 1000
Context: demo
Hint: SIP/1000
Status: 4
StatusText: Unavailable

Event: ExtensionStatus
Exten: 1001
Context: demo
Hint: SIP/1001
Status: 4
StatusText: Unavailable

Event: ExtensionStatus
Exten: 1234
Context: default
Hint: SIP/1234
Status: 4
StatusText: Unavailable

Event: ExtensionStateListComplete
EventList: Complete
ListItems: 3

See also

FAXSession

Responsds with a detailed description of a single FAX session.

Provides details about a specific FAX session. The response will include a common subset of the output from the CLI command "fax show session <session_number>" for each technology. If the FAX technology used by this session does not include a handler for FAXSession, then this action will fail.

Action: FAXSession
ActionID: <value>
SessionNumber: <value>
  • ActionID
  • SessionNumber : The session ID of the fax the user is interested in.

Example

Error

Action: FAXSession

Response: Error
Message: Invalid session ID

See also

FAXSessions

Lists active FAX sessions.

Will generate a series of FAXSession events with information about each FAXSession. Closes with a FAXSessionsComplete event which includes a count of the included FAX sessions. This action works in the same manner as the CLI command "fax show sessions".

Action: FAXSessions
ActionID: <value>
  • ActionID

Example

Action: FAXSessions

Response: Success
EventList: Start
Message: FAXSessionsEntry event list will follow

Event: FAXSessionsComplete
EventList: Complete
ListItems: 0
Total: 0

See also

FAXStats

Responds with fax statistics.

Provides FAX statistics including the number of active sessions, reserved sessions, completed sessions, failed sessions, and the number receive/transmit attempts. This command provides all the non-technology specific information provided by the CLI command "fax show stats".

Action: FAXStats
ActionID: <value>
  • ActionID

Example

Action: FAXStats

Response: Success
Message: FAXStats event will follow

Event: FAXStats
CurrentSessions: 0
ReservedSessions: 0
TransmitAttempts: 0
ReceiveAttempts: 0
CompletedFAXes: 0
FailedFAXes: 0

See also

Filter

Dynamically add filters for the current manager session.

The filters added are only used for the current session. Once the connection is closed the filters are removed. This command requires the system permission because this command can be used to create filters that may bypass filters defined in manager.conf.

Action: Filter
ActionID: <value>
Operation: <value>
Filter: <value>
  • ActionID
  • Operation
Add : Add a filter.
  • Filter : Filters can be whitelist of blacklist. Example whitelist filter: "Event: Newchannel". Example blacklist filter: "!Channel: DAHDI.*". This filter option is used to whitelist or blacklist events per user to be reported with regular expression and are allowed if both the regex matches and the user has read access as defined in manager.conf. Filters are assumed to be for whitelisting unless preceeded by an exclamation point, which marks it as being black. Evaluation of the filters is as follows:
If no filters are configured all events are reported as normal.
If there are white filters only: implied black all filter processed first, then white filters.
If there are black filters only: implied white all filter processed first, then black filters.
If there are both white and black filters: implied black all filter processed first, then white filters, and lastly black filters.

Example

Action: Filter
Operation: Add
Filter: !Event: Fax*

Response: Success
Message: Success

See also

FilterList

Show current event filters for this session.

The filters displayed are for the current session. Only those filters defined in manager.conf will be present upon starting a new session.

Action: FilterList
ActionID: <value>
  • ActionID

See also

GetConfig

Retrieve configuration.

This action will dump the contents of a configuration file by category and contents or optionally by specified category only. In the case where a category name is non-unique, a filter may be specified to match only categories with matching variable values.

Action: GetConfig
ActionID: <value>
Filename: <value>
Category: <value>
Filter: <value>
  • ActionID
  • Filename : Configuration filename(e.g. foo.conf)
  • Category : Category in configuration file.
  • Filter : A comma separated list of name_regex=value_regex expressions which will cause only categories whose variables match all expressions to be considered. The special variable name TEMPLATES can be used to control whether templates are included. Passing include as the value will include templates along with normal categories. Passing restrict as the value will restrict the operation to ONLY templates. Not specifying a TEMPLATES expression result in the default behavior which is to not include templates.

Example

Action: GetConfig
Filename: queues.conf

Response: Success
Category-000000: general
Line-000000-000000: persistentmembers=yes
Line-000000-000001: monitor-type=MixMonitor
Category-000001: sales_1
Line-000001-000000: musicclass=default
Line-000001-000001: strategy=ringall
Line-000001-000002: joinempty=yes

See also

GetConfigJSON

지정한 Configuration 파일 내용은 JSON 형식으로 나타낸다.

Retrieve configuration (JSON format).

This action will dump the contents of a configuration file by category and contents in JSON format or optionally by specified category only. This only makes sense to be used using rawman over the HTTP interface. In the case where a category name is non-unique, a filter may be specified to match only categories with matching variable values.

Action: GetConfigJSON
ActionID: <value>
Filename: <value>
Category: <value>
Filter: <value>
  • ActionID
  • Filename : Configuration filename(e.g. foo.conf)
  • Category : Category in cofiguration file.
  • Filter : A comma separated list of name_regex=value_regex expressions which will cause only categories whose variables match all expressions to be considered. The special variable name TEMPLATES can be used to control whether templates are included. Passing include as the value will include templates along with normal categories. Passing restrict as the value will restrict the operation to ONLY templates. not specifying a TEMPLATES expression results in the default behavior which is to not include templates.

Example

Action: GetConfigJSON
Filename: queues.conf

Response: Success
JSON: {"general":{"persistentmembers":"yes","monitor-type":"MixMonitor"},"sales_1":{"musicclass":"default","strategy":"ringall","joinempty":"yes"}}

See also

GetVar

지정한 Variable 의 값을 확인한다. 만약 채널을 지정하지 않을 경우, global variable 로 간주한다.

Gets the value of a channel variable or function return.

If a channel name is not provided then the variable is considered global.
Action: Getvar
ActionID: <value>
Channel: <value>
Variable: <value>
  • ActionID
  • Channel : Channel to read variable from.
  • Variable : Variable name, function or expression.

Example

Action: GetVar
Variable: CONSOLE

Response: Success
Variable: CONSOLE
Value: Console/dsp

See also

Hangup

채널을 종료한다.

Action: Hangup
ActionID: <value>
Channel: <value>
Cause: <value>
  • channel : 종료하고자하는 채널의 정확한 이름. 혹은 정규표현식도 가능하다.
Example exact channel: SIP/provider-0000012a
Example regular expression: /^SIP/provider-.*$/
  • Cause : 채널 종료 사유(숫자). 자세한 Cause 종류와 내용은 Asterisk_code 참조.

Example

Normal

Action: Hangup
Channel: SIP/300-00000000
Cause: 16

Response: Success
Message: Channel Hungup

...

Event: Hangup
Privilege: call,all
Channel: SIP/300-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 
Context: sample_musiconhold
Exten: s
Priority: 3
Uniqueid: 1484558265.0
Linkedid: 1484558265.0
Cause: 16
Cause-txt: Normal Clearing

Hangup request without cause code

Action: Hangup
Channel: SIP/300-00000001

Response: Success
Message: Channel Hungup

...

Event: Hangup
Privilege: call,all
Channel: SIP/300-00000001
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 
Context: sample_musiconhold
Exten: s
Priority: 3
Uniqueid: 1484558362.2
Linkedid: 1484558362.2
Cause: 0
Cause-txt: Unknown

See also

IAXnetstats

Show IAX Netstats.

Show IAX channels network statistics.

Action: IAXnetstats

See also

IAXpeerlist

모든 IAX peer 정보를 표시한다.

List IAX Peers.

Action: IAXpeerlist
ActionID: <value>
  • ActionID

See also

IAXpeers

List IAX peers.

Action: IAXpeers
ActionID: <value>

See also

IAXregistry

Show IAX registrations.

Action: IAXregistry
ActionID: <value>
  • ActionID

See also

JabberSend

Sends a message to a Jabber Client. (res_xmpp)

Action: JabberSend
ActionID: <value>
Jabber: <value>
JID: <value>
Message: <value>
  • ActionID
  • Jabber : Client or transport Asterisk uses to connect to JABBER.
  • JID : XMPP/Jabber (name) of recipient.
  • Message : Message to be sent to the buddy.

See also

ListCategories

List categories in configuration file.

This action will dump the categories in a given file.

Action: ListCategories
ActionID: <value>
Filename: <value>
  • ActionID
  • Filename : Configuration filename(e.g. foo.conf)

Example

Action: ListCategories
Filename: sip.conf

Response: Success
Category-000000: general
Category-000001: authentication
Category-000002: agent-01
Category-000003: agent-02
Category-000004: agent-03
Category-000005: client-01
Category-000006: client-02
Category-000007: client-03
Category-000008: 200
Category-000009: 201
Category-000010: 202
Category-000011: 300
Category-000012: 301
Category-000013: 302

See also

ListCommands

현재 접속중인 계정으로 사용가능한 모든 AMI action 명령어 목록을 보여준다.

List available manager commands.

Returns the action name and synopsis for every action that is available to the user.

Action: ListCommands
ActionID: <value>
  • ActionID

Example

Action: ListCommands

Response: Success
AbsoluteTimeout: Set absolute timeout.  (Priv: system,call,all)
AgentLogoff: Sets an agent as no longer logged in.  (Priv: agent,all)
...

See also

LocalOptimizeAway

Optimize away a local channel when possible.

A local channel created with "/n" will not automatically optimize away. Calling this command on the local channel will clear that flag and allow it to optimize away if it's bridged or when it becomes bridged.

Action: LocalOptimizeAway
ActionID: <value>
Channel: <value>
  • ActionID
  • Channel : The channel name to optimize away.

Example

Error

Action: LocalOptimizeAway
Channel: SIP/300-00000002

Response: Error
Message: Unable to find channel

See also

LoggerRotate

Reload and rotate the Asterisk logger.

Reload and rotate the logger. Analogous to the CLI command "logger rotate".

Action: LoggerRotate
ActionID: <value>
  • ActionID

Example

Action: LoggerRotate

Response: Success
Message: Reloaded the logger and rotated log files

See also

Login

AMI login 을 한다.

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

Example

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

Action: login
username: test
secret: test

Response: Success
Message: Authentication accepted

See also

Logoff

AMI logoff 를 한다.

Action: Logoff
ActionID: <value>

Example

Action: Logoff
ActionID: logofftest

Response: Goodbye
ActionID: logofftest
Message: Thanks for all the fish.

See also

MailboxCount

음성사서함에 저장된 메시지 갯수를 확인한다.

Check Mailbox Message Count.

Checks a voicemail account for new messages. Returns number of urgent, new and old messages.

Action: MailboxCount
ActionID: <value>
Mailbox: <value>
  • Mailbox : Full mailbox ID. mailbox@vm-context.

Example

Action: MailboxCount
Mailbox: 6001@vm-demo

Response: Success
Message: Mailbox Message Count
Mailbox: 6001@vm-demo
UrgMessages: 0
NewMessages: 2
OldMessages: 1

See also

MailboxStatus

Check mailbox.

Checks a voicemail account for status. Returns whether there are messages waiting.

Action: MailboxStatus
ActionID: <value>
Mailbox: <value>
  • ActionID
  • Mailbox : Full mailbox ID. mailbox@vm-context.

Example

Action: MailboxStatus
Mailbox: 6001@vm-demo

Response: Success
Message: Mailbox Status
Mailbox: 6001@vm-demo
Waiting: 1

See also

MeetmeList

List participants in a conference.

Lists all users in a particular MeetMe conference. MeetmeList will follow as separate events, followed by a final event called MeetmeListComplete.

Action: MeetmeList
ActionID: <value>
[Conference:] <value>
  • ActionID
  • Conference : Conference number

See also

MeetmeListRooms

List active conference.

Lists data about all active conferences. MeetmeListRooms will follow as separate events, followed by a final event MeetmeListRoomsComplete.

Action: MeetmeListRooms
ActionID: <value>
  • ActionID

See also

MeetmeMute

Mute a Meetme user.

Action: MeetmeMute
ActionID: <value>
Meetme: <value>
Usernum: <value>
  • ActionID
  • Meetme
  • Usernum

See also

MeetmeUnmute

Unmute a Meetme user.

Action: MeetmeUnmute
ActionID: <value>
Meetme: <value>
Usernum: <value>
  • ActionID
  • Meetme
  • Usernum

See also

MessageSend

Send an out of call message to an endpoint.

Action: MessageSend
ActionID: <value>
To: <value>
From: <value>
Body: <value>
Base64Body: <value>
Variable: <value>
  • ActionID
  • To : The URI the message is to be sent to.
Technology : PJSIP - Specifying a prefix of pjsip. Will send the message as a SIP MESSAGE request.
Technology : SIP - Specifying a prefix of sip. Will send the message as a SIP MESSAGE request.
Technology : XMPP - Specifying a prefix of xmpp. Will send the message as an XMPP chat message.
  • From : A from URI for the message if needed for the message technology being used to send this message.
Technology : PJSIP - The from parameter can be a configured endpoint or in the form of "display-name" <URI>.
Technology : SIP - The from parameter can be a configured endpoint or in the form of "display-name" <URI>.
Technology : XMPP - Specifying a prefix of xmpp. Will specify the account defined in xmpp.conf to send the message form. Note that this field is required for XMPP messages.
  • Body : The message body text. This must not contain any newlines as that conflicts with the AMI protocol.
  • Base64Body : Text bodies requiring the use of newlines have to be base 64 encoded in this field. Base64Body will be encoded before being sent out. Base64Body takes precedence over Body.
  • Variable : Message variable to set, multiple Variable: headers are allowed. The header value is a comma separated list of name=value pairs.

Example

Normal

Action: MessageSend
To: sip:agent-01@pluto.pchero21.com:5060
Body: Test message

Response: Success
Message: Message successfully sent

Error

Action: MessageSend
To: agent-01@pluto.pchero21.com:5060
Body: Test message

Response: Error
Message: Message technology not found.

See also

MixMonitor

Record a call end mix the audio during the recording. Use of StopMixMonitor is required to guarantee the audio file is available for processing during dialplan execution.

This action records the audio on the current channel to the specified file.

MIXMONITOR_FILENAME : Will contain the filename used to record the mixed stream.
Action: MixMonitor
ActionID: <value>
Channel: <value>
File: <value>
options: <value>
Command: <value>
  • ActionID
  • Channel : Used to specify the channel to record.
  • File : The name of the file created in the monitor spool directory. Defaults to the same name as the channel(with slashes replaced with dashes). This argument is optional if you specify to record unidirectional audio with either the r(filename) or t(filename) options in the options field. If neither MIXMONITOR_FILENAME or this parameter is set, the mixed stream won't be recorded.
  • options : Options that apply to the MixMonitor in the same way as they would apply if invoked from the MixMonitor application. For a list of available options, see the documentation for the mixmonitor application.
  • Command : Will be executed when the recording is over. Any string matching ^{X} will be unescaped to X. All variables will be evaluated at the time MixMonitor is called.

Example

Action: MixMonitor
Channel: SIP/agent-01-00000009
File: test_record

Response: Success

See also

MixMonitorMute

Mixmonitor 중인 채널의 음소거 혹은 음소거 해제를 한다.

Recording 뿐만 아니라, 통화에서도 음소거/음소거 해제가 된다.

Mute/unMute a Mixmonitor recording.

This action may be used to mute a MixMonitor recording.

Action: MixMonitorMute
ActionID: <value>
Channel: <value>
Direction: <value>
State: <value>
  • ActionID
  • Channel : Used to specify the channel to mute.
  • Direction : Which part of the recording to mute. read, write or both (from channel, to channel or both channels).
  • State : Turn mute on or off. 1 to on, 0 to turn off.

Example

Action: MixMonitorMute
Channel: SIP/agent-01-0000000a
Direction: both
State: 1

Response: Success

See also

ModuleCheck

모듈이 load 되어 있는지를 확인한다.

Check if module is loaded.

Checks if Asterisk module is loaded. Will return Success/Failure. For Success returns, the module revision number is included.

Action: ModuleCheck
ActionID: <value>
Module: <value>
  • ActionID
  • Module : Asterisk module name(not including extension).

Example

Normal

Action: ModuleCheck
Module: chan_sip

Response: Success
Version: Revision: 369792

Error

Action: ModuleCheck
Module: chan_sip test

Response: Error
Message: Module not loaded

See also

ModuleLoad

Module management.

Loads, unloads or reloads an Asterisk module in a running system.

Action: ModuleLoad
ActionID: <value>
Module: <value>
LoadType: <value>
  • Action
  • Module : 모듈 이름 혹은 서브 시스템 구분자. 원문에는 .so 확장자까지 전부 입력해야 한다고 나와 있으나, 테스트 결과(Asterisk-1.8, Asterisk-14) 확장자는 없어도 상관 없었다. 아래에는 사용가능한 서브시스템 이름 목록들이다. Asterisk module name (including .so extension) or subsystem identifier.
cdr
dnsmgr
extconfig
enum
acl
manager
http
logger
features
dsp
udptl
indications
cel
plc
  • LoadType : The operation to be done on module. Subsystem identifiers may only be reloaded. If no module is specified for a r
load : 지정된 모듈을 load 한다.
unload : 지정된 모듈을 unreload 한다.
reload : 지정된 모듈을 reload 한다. 만약 지정된 모듈이 없을 경우, 모든 모듈을 reload 한다.

Example

Normal subsystem

Action: ModuleLoad
Module: cdr
LoadType: reload

Response: Success
Message: Module reloaded.

Normal module name

Action: ModuleLoad
Module: chan_sip
LoadType: reload

Response: Success
Message: Module reloaded.

Error

Action: ModuleLoad
Module: chan_sip_test
LoadType: reload

Response: Error
Message: No such module.

See also

Monitor

채널을 모니터링 한다. 모니터링되는 채널은 in/out 오디로가 녹음되며, 녹음된 파일의 Default 디렉토리는 (/var/spool/asterisk/monitor) 이다.

pchero@pluto:/var/spool/asterisk/monitor $ ls -tlr
total 408
-rw-r--r-- 1 root root 206764 Dec 16 09:26 SIP-300-00000000-out.wav
-rw-r--r-- 1 root root 206444 Dec 16 09:26 SIP-300-00000000-in.wav

This action may be used to record the audio on a specified channel.

Action: Monitor
ActionID: <value>
Channel: <value>
File: <value>
Format: <value>
Mix: <value>
  • ActionID
  • Channel : Used to specify the channel to record.
  • File : Is the name of the file created in the monitor spool directory. Defaults to the same name as the channel(with slashed replaced with dashes).
  • Format : Is the audio recording format. Defaults to wav.
  • Mix : 하나의 파일에 input/output 데이터를 모두 write 할 지를 설정한다(Default : false). Boolean parameter as to whether to mix the input and output channels together after the recording is finished.

Example

Action: Monitor
Channel: SIP/300-00000000

Response: Success
Message: Started monitoring channel

See also

MuteAudio

지정된 채널의 음소거를 on/off 한다.

Mute an audio stream.

Mute an incoming or outgoing audio stream on a channel.

Action: MuteAudio
ActionID: <value>
Channel: <value>
Direction: <value>
State: <value>
  • ActionID
  • Channel : The channel you want to mute.
  • Direction 음소거를 하고자 하는 음성 방향.
in : Set muting on inbound audio stream(to the PBX).
out : Set muting on outbound audio stream(from the PBX).
all : Set muting on inbound and outbound streams.
  • State
on : Turn muting on.
off : Turn muting off.

Example

Normal

Action: MuteAudio
Channel: SIP/300-00000000
Direction: all
State: on

Response: Success

Error state not specified

Action: MuteAudio
Channel: SIP/300-00000000

Response: Error
Message: State not specified

Error direction not specified

Action: MuteAudio
Channel: SIP/300-00000000
State: on

Response: Error
Message: Direction not specified

See also

MWIDelete

Delete selected maiboxes.

Action: MWIDelete
ActionID: <value>
Mailbox: <value>
  • ActionID
  • Mailbox : Mailbox ID in the form of /regex/ for all mailboxes matching the regular expression. Otherwise it is for a specific mailbox.

See also

MWIGet

Get selected mailboxes with message counts.

Action: MWIGet
ActionID: <value>
Mailbox: <value>
  • ActionID
  • Mailbox : Mailbox ID in the form of /regex/ for all mailboxes matching the regular expression. Otherwise it is for a specific mailbox.

See also

MWIUpdate

Update the mailbox message counts.

Action: MWIUpdate
ActionID: <value>
Mailbox: <value>
OldMessages: <value>
NewMessages: <value>
  • ActionID
  • Mailbox : Specific mailbox ID.
  • OldMessages : The number of old messages in the mailbox. Defaults to zero if missing.
  • NewMessages : The number of new messages in the mailbox. Defaults to zero if missing.

See also

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. "CallerIDName"<CallerIdNum> 의 형식으로 name 과 number 의 설정이 가능하다<ref>http://www.voip-info.org/wiki/view/Setting+Callerid</ref>
  • Variable : 채널 헤더에 설정될 임의 변수 값. 다중의 채널 헤더 변수 값 설정 가능.
  • Account  : Account code
  • EalryMedia : true 설정시, 강제로 early media 로 연결되게 된다.
  • Async : true 설정시, 곧바로 발신 성공값을 리턴한다.
  • Codecs : 발신에 사용될 코덱 지정. 콤마로 구분자로 여러개의 값을 지정할 수 있다.
  • ChannelId : 채널에 설정될 유니크 아이디 값.
  • OtherChannelId : 다른쪽 로컬 채널에 설정될 유니크 아이디 값.

Example

Normal with async

Action: Originate
ActionId: 1112
Channel: sip/300
Application: park
Async: 1

Response: Success
ActionID: 1112
Message: Originate successfully queued

Normal without async

Action: Originate
Channel: sip/300
Application: park

Response: Success
Message: Originate successfully queued

Error

Action: Originate
Channel: wrong_tech/300
Application: park

Response: Error
Message: Originate failed

See also

Park

Action: Park
ActionID: <value>
Channel: <value>
[TimeoutChannel:] <value>
[AnnounceChannel:] <value>
[Timeout:] <value>
[Parkinglot:] <value>
  • ActionID - Action ID for this transaction. Will be returned.
  • Channel - Channel name to park.
  • TimeoutChannel - Channel name to use when constructing the dial string that will be dialed if the parked channel times out. If TimeoutChannel is in a two party bridge with channel, then TimeoutChannel will receive an announcement and be treated as having parked Channel in the same manner as the Park Call DTMF feature.
  • AnnounceChannel - If specified, then this channel will receive an announcement when Channel is parked if AnnounceChannel is in a state where it can receive announcements(AnnounceChannel must be bridged). AnnounceChannel has no bearing on the actual state of the parked call.
  • Timeout - Overrides the timeout of the parking lot for this park action. Specified in milliseconds, but will be converted to seconds. Use a value of 0 to disable the timeout.
  • Parkinglot - The parking lot to use when parking the channel.

Example

Action: park
Channel: SIP/300-00000013

Response: Success
Message: Park successful

ParkedCalls

해당 parking lot 에 대기중인 콜들의 정보를 요청한다.

Action: ParkedCalls
ActionID: <value>
ParkingLot: <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • ParkingLot - If specified, only show parked calls from the parking lot with this name.

Example

Action: Parkedcalls

Response: Success
EventList: start
Message: Parked calls will follow

Event: ParkedCall
ParkeeChannel: SIP/300-00000000
ParkeeChannelState: 6
ParkeeChannelStateDesc: Up
ParkeeCallerIDNum: 300
ParkeeCallerIDName: 300@pluto.pchero21.com
ParkeeConnectedLineNum: <unknown>
ParkeeConnectedLineName: <unknown>
ParkeeLanguage: en
ParkeeAccountCode: 
ParkeeContext: sample_park
ParkeeExten: s
ParkeePriority: 2
ParkeeUniqueid: 1491378491.0
ParkeeLinkedid: 1491378491.0
ParkerDialString: SIP/300
Parkinglot: default
ParkingSpace: 701
ParkingTimeout: 41
ParkingDuration: 4

Event: ParkedCallsComplete
EventList: Complete
ListItems: 1
Total: 1

Parkinglots

현재 등록되어 있는 모든 parking lot 정보를 요청한다.

Action: Parkinglots
ActionID: <value>
  • ActionID - ActionID for this transaction. Will be returned.

Example

Action: Parkinglots

Response: Success
EventList: start
Message: Parking lots will follow

Event: Parkinglot
Name: default
StartSpace: 701
StopSpace: 720
Timeout: 45

Event: ParkinglotsComplete
EventList: Complete
ListItems: 1

See also

PauseMonitor

Pause monitoring of a channel.

This action may be used to temporarily stop the recording of a channel.

Action: PauseMonitor
ActionID: <value>
Channel: <value>
  • Channel : Used to specify the channel to record.

See also

Ping

Keepalive command

A 'Ping' action will elicit a 'Pong' response. Used to keep the manager connection open.

Action: Ping
ActionID: <value>

Example

Action: Ping
ActionID: f6db6704-6412-466f-bd0c-7fe06fe1acb7

Response: Success
ActionID: f6db6704-6412-466f-bd0c-7fe06fe1acb7
Ping: Pong
Timestamp: 1494854593.314921

See also

https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+ManagerAction_Ping

PJSIPNotify

Send a NOTIFY to either an endpoint or an arbitrary URI.

Sends a NOTIFY to an endpoint or an arbitrary URI. All parameters for this event must be specified in the body of this request via multiple Variable: name=value sequence.

One (and only one) of Endpoint or URI must be specified. If URI is used, the default outbound endpoint will be used to send the message. If the default outbound endpoint isn't configured, this command can not send to an arbitrary URI.
Action: PJSIPNotify
ActionID: <value>
[Endpoint:] <value>
[URI:] <value>
Variable: <value>
  • Endpoint : The endpoint to which to send the NOTIFY.
  • URI : Arbitrary URI to which to send the NOTIFY.
  • Variable : Appends variables as headers/content to the NOTIFY. If the variable is named Content, then the value will compose the body of the message if another variable sets Content-Type. name=value.

See also

PJSIPQualify

Qualify a chan_pjsip endpoint.

Action: PJSIPQualify
ActionID: <value>
Endpoint: <value>
  • Endpoint : The endpoint you want to qualify.

See also

PJSIPRegister

Register an outbound registration.

Unregisters the specified (or all) outbound registration(s) then starts registration and schedules re-registrations according to configuration.

Action: PJSIPRegister
ActionID: <value>
Registration: <value>
  • Registration : The outbound registration to register or "*all" to register them all.

See also

PJSIPShowEndpoint

Detail listing of an endpoint and its objects.

Provides a detailed listing of options for given endpoint. Events are issued showing the configuration and status of the endpoint and associated objects. These events include EndpointDetail, AorDetail, AuthDetail, TransportDetail, and IdentifyDetail.

Some events may be listed multiple times if multiple objects are associated (for instance AoRs). Once all detail events have been raised a final EndpointDetailComplete event is issued.

Action: PJSIPShowEndpoint
ActionID: <value>
Endpoint: <value>
  • Endpoint: The endpoint to list.

Example

Action: PJSIPShowEndpoint
Endpoint: 199

Response: Success
EventList: start
Message: Following are Events for each object associated with the the Endpoint

Event: EndpointDetail
ObjectType: endpoint
ObjectName: 199
RpidImmediate: false
Webrtc: no
DeviceStateBusyAt: 0
T38UdptlMaxdatagram: 0
DtlsRekey: 0
NamedPickupGroup: 
DirectMediaMethod: invite
SendRpid: false
PickupGroup: 
SdpSession: Asterisk
DtlsVerify: Yes
MessageContext: 
Mailboxes: 
RecordOnFeature: automixmon
DtlsPrivateKey: 
DtlsFingerprint: SHA-256
FromDomain: 
TimersSessExpires: 1800
NamedCallGroup: 
DtlsCipher: 
MediaEncryptionOptimistic: false
Aors: 199
IdentifyBy: username
CalleridPrivacy: allowed_not_screened
MwiSubscribeReplacesUnsolicited: false
CosAudio: 0
Context: default
RtpSymmetric: false
Transport: 
MohSuggest: default
T38Udptl: false
FaxDetect: false
TosVideo: 0
SrtpTag32: false
ReferBlindProgress: true
MaxAudioStreams: 1
Bundle: false
UseAvpf: true
CallGroup: 
FaxDetectTimeout: 0
SdpOwner: -
ForceRport: true
CalleridTag: 
RtpTimeoutHold: 0
UsePtime: false
MediaAddress: 
VoicemailExtension: 
RtpTimeout: 0
SetVar: 
ContactAcl: 
PreferredCodecOnly: false
ForceAvp: false
RecordOffFeature: automixmon
FromUser: 
SendDiversion: true
T38UdptlIpv6: false
ToneZone: 
Language: 
AllowSubscribe: true
RtpIpv6: false
Callerid: <unknown>
MohPassthrough: false
CosVideo: 0
AsymmetricRtpCodec: false
IceSupport: true
AggregateMwi: true
OneTouchRecording: false
MwiFromUser: 
Accountcode: 
Allow: (opus|ulaw)
RewriteContact: false
UserEqPhone: false
RtpEngine: asterisk
SubscribeContext: 
NotifyEarlyInuseRinging: false
IncomingMwiMailbox: 
Auth: 199
DirectMediaGlareMitigation: none
TrustIdInbound: false
BindRtpToMediaAddress: false
DisableDirectMediaOnNat: false
MediaEncryption: dtls
MediaUseReceivedTransport: true
AllowOverlap: true
DtmfMode: rfc4733
OutboundAuth: 
TosAudio: 0
DtlsCertFile: /etc/asterisk/keys/asterisk.pem
DtlsCaPath: 
DtlsSetup: actpass
ConnectedLineMethod: invite
G726NonStandard: false
100rel: yes
Timers: yes
DirectMedia: true
Acl: 
TimersMinSe: 90
TrustIdOutbound: false
SubMinExpiry: 0
RtcpMux: true
MaxVideoStreams: 1
SendPai: false
RtpKeepalive: 0
T38UdptlEc: none
T38UdptlNat: false
AllowTransfer: true
DtlsCaFile: /etc/asterisk/keys/ca.crt
OutboundProxy: 
InbandProgress: false
DeviceState: Not in use
ActiveChannels: 

Event: AuthDetail
ObjectType: auth
ObjectName: 199
Username: 199
Md5Cred: 
Realm: 
AuthType: userpass
Password: 199199
NonceLifetime: 32
EndpointName: 199

Event: AorDetail
ObjectType: aor
ObjectName: 199
MinimumExpiration: 60
DefaultExpiration: 3600
QualifyTimeout: 3.000000
Mailboxes: 
SupportPath: false
VoicemailExtension: 
MaxContacts: 1
AuthenticateQualify: false
Contacts: 199/sip:199@172.17.42.1:36115;transport=ws;rtcweb-breaker=no
MaximumExpiration: 7200
QualifyFrequency: 0
RemoveExisting: true
OutboundProxy: 
TotalContacts: 1
ContactsRegistered: 1
EndpointName: 199

Event: ContactStatusDetail
AOR: 199
URI: sip:199@172.17.42.1:36115;transport=ws;rtcweb-breaker=no
UserAgent: IM-client/OMA1.0 sipML5-v1.2016.03.04
RegExpire: 1512048398
ViaAddress: df7jal23ls0d.invalid
CallID: 0ac22a50-8170-19d0-85fd-5e61c133bd00
Status: Unknown
RoundtripUsec: N/A
EndpointName: 199
ID: 199;@29493f07102d24dcb5054982b064d9ee
AuthenticateQualify: 0
OutboundProxy: 
Path: 
QualifyFrequency: 0
QualifyTimeout: 3.000

Event: EndpointDetailComplete
EventList: Complete
ListItems: 4

See also

PJSIPShowEndpoints

Lists PJSIP endpoints.

Provides a listing of all endpoints. For each endpoint an EndpointList event is raised that contains relevant attributes and status information. Once all endpoints have been listed an EndpointListComplete event is issued.

Action: PJSIPShowEndpoints

Example

Action: PJSIPShowEndpoints

Response: Success
EventList: start
Message: A listing of Endpoints follows, presented as EndpointList events

Event: EndpointList
ObjectType: endpoint
ObjectName: 199
Transport: 
Aor: 199
Auths: 199
OutboundAuths: 
Contacts: 199/sip:199@172.17.42.1:32942;transport=ws;rtcweb-breaker=no,
DeviceState: Not in use
ActiveChannels: 

...

Event: EndpointListComplete
EventList: Complete
ListItems: 2

See also

PJSIPShowRegistrationInboundContactStatuses

Lists ContactStatuses for PJSIP inbound registrations.

In response, ContactStatusDetail events showing status information are raised for each inbound registration (dynamic contact) object. Once all events are completed a ContactStatusDetailComplete event is issued.

Action: PJSIPShowRegistrationInboundContactStatuses

Example

Action: PJSIPShowRegistrationInboundContactStatuses

Response: Success
EventList: start
Message: Following are ContactStatusEvents for each Inbound registration

Event: ContactStatusDetail
AOR: agent-01
URI: sip:65387014@10.1.27.127:60668
UserAgent: Blink 1.4.2 (Linux)
RegExpire: 1512635985
ViaAddress: 10.1.27.127:60668
CallID: 8KMuaqrUWGHH1AydWN6uXTCVF0daucTN
Status: Unknown
RoundtripUsec: N/A
EndpointName: agent-01
ID: agent-01;@5aac93d458bbcc990687686b49fa8e45
AuthenticateQualify: 0
OutboundProxy: 
Path: 
QualifyFrequency: 0
QualifyTimeout: 3.000

Event: ContactStatusDetailComplete
EventList: Complete
ListItems: 1

See also

PJSIPShowRegistrationsInbound

Lists PJSIP inbound registrations.

In response, InbooundRegistrationDetail events showing configuration and status information are raised for all contacts, static or dynamic. Once all events are completed an InboundRegistrationDetailComplete is issued.

Warning.
This command just dumps all configured AORs with contacts, even if the contact is a permanent one. To really get just inbound registrations, use PJSIPShowRegistrationInboundContactStatuses.
Action: PJSIPShowRegistrationsInbound

Example

Action: PJSIPShowRegistrationsInbound

Response: Success
EventList: start
Message: Following are Events for each Inbound registration

Event: InboundRegistrationDetail
ObjectType: aor
ObjectName: agent-01
MinimumExpiration: 60
DefaultExpiration: 3600
QualifyTimeout: 3.000000
Mailboxes: 
SupportPath: false
VoicemailExtension: 
MaxContacts: 1
AuthenticateQualify: false
Contact: agent-01/sip:65387014@10.1.27.127:60668
MaximumExpiration: 7200
QualifyFrequency: 0
RemoveExisting: true
OutboundProxy: 
Contacts: agent-01/sip:65387014@10.1.27.127:60668,

...

Event: InboundRegistrationDetailComplete
EventList: Complete
ListItems: 7

See also

PJSIPShowRegistrationsOutbound

Lists PJSIP outbound registrations.

In response OutboundRegistrationDetail events showing configuration and status information are raised for each outbound registration object. AuthDetail events are raised for each associated auth object as well. Once all events are completed an OutboundRegistrationDetailComplete is issued.

Action: PJSIPShowRegistrationsOutbound

Example

Normal

Action: PJSIPShowRegistrationsOutbound

Response: Success
EventList: start
Message: Following are Events for each Outbound registration

Event: OutboundRegistrationDetail
ObjectType: registration
ObjectName: test12345
MaxRetries: 10
ClientUri: sip:test12345.test.com
AuthRejectionPermanent: true
ServerUri: sip:sip.test.com
SupportPath: false
RetryInterval: 60
Expiration: 3600
Transport: 
Line: false
ContactUser: 
Endpoint: 
ForbiddenRetryInterval: 0
OutboundAuth: test12345
OutboundProxy: 
FatalRetryInterval: 0
Status: Rejected
NextReg: 0

Event: AuthDetail
ObjectType: auth
ObjectName: test12345
Username: test12345
Md5Cred: 
Realm: 
AuthType: userpass
Password: 1234567
NonceLifetime: 32

Event: OutboundRegistrationDetailComplete
EventList: Complete
ListItems: 1
Registered: 0
NotRegistered: 1

See also

PJSIPShowResourceLists

Display settings for configured resource lists.

Provides a listing of all resource lists. An event ResourceListDetail is issued for each resource list object. Once all detail events are completed a ResourceListDetailComplete event is issued.

Action: PJSIPShowResourceLists

Example

  • Error
Action: PJSIPShowResourceLists

Response: Error
Message: No resource lists found

See also

PJSIPShowSubscriptionsInbound

Lists subscriptions.

Provides a listing of all inbound subscriptions. An event InboundSubscriptionDetail is issued for each subscription object. Once all detail events are completed an InoundSubscriptionDetailComplete event is issued.

Action: PJSIPShowSubscriptionsInbound

See also

PJSIPShowSubscriptionsOutbound

Lists subscriptions.

Provides a listing of all outbound subscriptions. An event OutboundSubscriptionDetail is issued for each subscription object. Once all detail events are completed an OutboundSubscriptionDetailComplete is issued.

Action: PJSIPShowSubscriptionsOutbound

See also

PJSIPUnregister

Unregister an outbound registration.

Unregisters the specified (or all) outbound registration(s) and stops future registration attempts. Call PJSIPRegister to start registratioin and schedule re-registrations according to configuration.

Action: PJSIPUnregister
ActionID: <value>
Registration: <value>
  • Registration : The outbound registration to unregister or "all" to unregister them all.

See also

PlayDTMF

Play DTMF signal on a specific channel.

Action: PlayDTMF
ActionID: <value>
Channel: <value>
Digit: <value>
[Duration:] <value>
  • Channel : Channel name to send digit to.
  • Digit : The DTMF digit to play.
  • Duration : The duration, in milliseconds, of the digit to be played.

Example

Action: PlayDTMF
Channel: SIP/301-00000000
Digit: 5

Response: Success
Message: DTMF successfully queued

See also

PresenceState

Check Presence State

Report the presence state for the given presence provider.

Will return a Presence State message. The response will include the presence state and, if set, a presence subtype and custom message.

Action: PresenceState
ActionID: <value>
Provider: <value>
  • Provider : Presence Provider to check the state of.

Example

Error

Action: PresenceState

Response: Error
Message: No provider specified

See also

PresenceStateList

List the current known presence states.

This will list out all known presence states in a sequence of PresenceStateChange events. When finished, a PresenceStateListComplete event will be emitted.

Action: PresenceStateList
ActionID: <value>

Example

Action: PresenceStateList

Response: Success
EventList: start
Message: Presence State Changes will follow

Event: PresenceStateListComplete
EventList: Complete
ListItems: 0

See also

PRIDebugFileSet

Set the file used for PRI debug message output.

Equivalent to the CLI command "pri set debug file <output-file>"

Action: PRIDebugFileSet
ActionID: <value>
File: <value>
  • File : Path of tile to write debug output.

See also

PRIDebugFileUnset

Disables file output for PRI debug messages.

Action: PRIDebugFileUnset
ActionID: <value>

See also

PRIDebugSet

Set PRI debug levels for a span.

Equivalent to the CLI command "pri set debug <level> span ".

Action: PRIDebugSet
ActionID: <value>
Span: <value>
Level: <value>
  • Span : Which span to affect.
  • Level : What debug level to set. May be a numerical value or a text value from the list below.
off
on
hex
intense

See also

PRIShowSpans

Show status of PRI spans.

Similar to the CLI command "pri show spans".

Action: PRIShowSpans
ActionID: <value>
Span: <value>
  • Span : Specify the specific span to show. Show all spans if zero or not present.

See also

QueueAdd

Add interface to queue.

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 정보.

Example

Action: QueueAdd
Queue: sales_1
Interface: sip/agent-01
MemberName: sip/agent-01

Response: Success
Message: Added interface to queue

QueueLog

Adds custom entry in queue_log

Action: QueueLog
ActionID: <value>
Queue: <value>
Event: <value>
Uniqueid: <value>
Interface: <value>
Message: <value>

Example

Normal

Action: QueueLog
Queue: sales_1
Event: QueueCallerJoin
Message: QueueLog action test

Response: Success
Message: Event added successfully

이후, /var/log/asterisk/queue_log 파일을 확인하면 해당 큐에 지정한 이벤트 발생시, 추가된 로그 내용을 확인할 수 있다.

$ cat /var/log/asterisk/queue_log
...
1500030788|NONE|sales_1||QueueCallerJoin|QueueLog action test
1500030875|1500030874.11|sales_1|NONE|ENTERQUEUE||301|1

See also

QueueMemberRingInUse

Set the ringinuse value for a queue member.

Action: QueueMemberRingInUse
ActionID: <value>
Interface: <value>
RingInUse: <value>
Queue: <value>

Example

Action: QueueMemberRingInUse
Interface: sip/agent-03
RingInUse: 1
Queue: sales_1

Response: Success
Message: Interface ringinuse set successfully

Event: QueueMemberRinginuse
Privilege: agent,all
Queue: sales_1
MemberName: sip/agent-03
Interface: sip/agent-03
Ringinuse: 1
Status: 1
StateInterface: sip/agent-03
Membership: dynamic
Penalty: 0
LastCall: 0
CallsTaken: 0
LastPause: 0
InCall: 0
Paused: 0
PausedReason: 

See also

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 이벤트에 설정되게 된다.

Example

Action: QueuePause
Interface: sip/agent-03
Paused: 1
Queue: sales_1
Reason: test queue pause set 1

Response: Success
Message: Interface paused successfully

Event: DeviceStateChange
Privilege: call,all
Device: Queue:sales_1_pause_sip/agent-03
State: INUSE

Event: QueueMemberPause
Privilege: agent,all
Queue: sales_1
MemberName: sip/agent-03
Interface: sip/agent-03
Reason: test queue pause set 1
Ringinuse: 1
Status: 1
StateInterface: sip/agent-03
Membership: dynamic
Penalty: 0
LastCall: 0
CallsTaken: 0
LastPause: 1500031553
InCall: 0
Paused: 1
PausedReason: test queue pause set 1

See also

QueuePenalty

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

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

Example

Action: QueuePenalty
interface: sip/agent-01
Penalty: 10
Queue: sales_1
ActionId: f712036e-03e3-11e7-80d0-9fe5b014f295

Response: Success
ActionID: f712036e-03e3-11e7-80d0-9fe5b014f295
Message: Interface penalty set successfully

See also

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

Example

Action: QueueReload
Queue: sales_1

Response: Success
Message: Queue reloaded successfully

See also

QueueRemove

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

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

Example

Action: QueueRemove
Queue: sales_1
Interface: sip/agent-01
ActionId: 761fde72-03e6-11e7-9452-8b21cf5e8798

Response: Success
ActionID: 761fde72-03e6-11e7-9452-8b21cf5e8798
Message: Removed interface from queue

See also

QueueReset

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

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

Example

No queue name

Action: QueueReset

Response: Success
Message: Queue stats reset successfully

Queue specified

Action: QueueReset
Queue: sales_1

Response: Success
Message: Queue stats reset successfully

See also

QueueRule

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

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

Example

Action: QueueRule

Response: Success

See also

Queues

Show queues information.

Action: Queues

Example

Action: Queues

sales_1 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 5s
   Members: 
      sip/agent-02 (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet
      sip/agent-03 (ringinuse enabled) (dynamic) (paused:test queue pause set 1 was 1500032097 secs ago) (Not in use) has taken no calls yet
      sip/agent-01 (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet
      test (ringinuse enabled) (dynamic) (Invalid) has taken no calls yet
      Agent/10001 (ringinuse enabled) (Invalid) has taken no calls yet
   No Callers

See also

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: QueueEntry
Queue: Camp200
Position: 1
Channel: SIP/test-201-00000001
Uniqueid: 1447837150.7
CallerIDNum: 201
CallerIDName: user 2
ConnectedLineNum: unknown
ConnectedLineName: unknown
Wait: 16

Event: QueueStatusComplete
ActionID: 001

See also

QueueSummary

Queue의 간략 상태를 표시한다. Queue name 을 지정하지 않을 경우, 모든 Queue 의 Summary 를 표시한다.

Action: QueueSummary
ActionID: <value>
[Queue]: <value>
  • Queue : Queue name

Response message

Example

Action: QueueSummary

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
EventList: Complete
ListItems: 3

See also

Redirect

채널을 지정된 dialplan 으로 redirect(transfer)한다. 즉, 채널 넘겨주기.

Action: Redirect
ActionID: <value>
Channel: <value>
Exten: <value>
Context: <value>
Priority: <value>
ExtraChannel: <value>
ExtraExten: <value>
ExtraContext: <value>
ExtraPriority: <value>
  • Channel - 넘겨주고자 하는 채널.
  • Exten - 채널을 넘겨받게 되는 Extension.
  • Context - 넘겨받게 되는 Context.
  • Priority - 념겨받게 되는 채널의 Priority.
  • ExtraChannel - 추가로 같이 넘겨주고자 하는 채널(optional).
  • ExtraExten - ExtraChannel 을 넘겨받게 되는 Extension(optional).
  • ExtraContext - ExtraChannel 을 넘겨받게 되는 Context(optional).
  • ExtraPriority - 넘겨받게 되는 ExtraChannel 의 Priority(optional).

Example

Action: Redirect
Channel: SIP/301-0000000d
Exten: 4002
Context: demo
Priority: 1

Response: Success
Message: Redirect successful

See also

Reload

Send a reload request.

Action: Reload
ActionID: <value>
Module: <value>
  • Module : Name of the module to reload.

Example

Action: Reload
Module: chan_sip

Response: Success
Message: Module Reloaded

Event: Reload
Privilege: system,all
Module: chan_sip
Status: 0

See also

SendText

Send text message to channel.

Sends A Text Message to a channel while in a call.

Action: SendText
ActionID: <value>
Channel: <value>
Message: <value>
  • ActionID
  • Channel : Channel to send message to.
  • Message : Message to send.

Asterisk 에는 메시지 수신을 위한 ReceiveText 가 없다. 하지만 AGI 를 이용하면 메시지 수신이 가능하다.

print STDERR "1. Testing 'sendtext'...";
print "SEND TEXT \"hello world\"\n";
my $result = <STDIN>;
&checkresult($result);

print STDERR "2. Receiving Text 'receivetext'...";
print "RECEIVE TEXT 3000\n";
my $result = <STDIN>;
&checkresult($result);

Example

Action: SendText
Channel: SIP/300-00000003
Message: Test message

Response: Success
Message: Success

See also

Setvar

Sets a channel variable or function value.

This command can be used to set the value of channel variables or dialplan functions.

If a channel name is not provided then the variable is considered global.
채널 이름을 지정하지 않으면, global 변수로 간주한다.
Action: Setvar
ActionID: <value>
Channel: <value>
Variable: <value>
Value: <value>
  • Channel : Channel to set variable for.
  • Variable : Variable name, function or expression.
  • Value : Variable or function value.

Example

Action: Setvar
Variable: Setvar global test key
Value: Setvar global test value

Response: Success
Message: Variable Set

Event: VarSet
Privilege: dialplan,all
Channel: none
Uniqueid: none
Variable: Setvar global test key
Value: Setvar global test value

See also

ShowDialPlan

Show dialplan contexts and extensions.

Show dialplan contexts and extensions. Be aware that showing the full dialplan may take a lot of capacity.

Action: ShowDialPlan
ActionID: <value>
Extension: <value>
Context: <value>
  • Extension : Show a specific extension.
  • Context : Show a specific context.

Example

Action: ShowDialPlan
Extension: 4000
Context: demo

Response: Success
EventList: start
Message: DialPlan list will follow

Event: ListDialplan
Context: demo
Extension: 4000
Priority: 1
Application: Goto
AppData: sample_musiconhold,s,1
Registrar: pbx_config

...

Event: ShowDialPlanComplete
EventList: Complete
ListItems: 8
ListExtensions: 2
ListPriorities: 8
ListContexts: 2

See also

SIPnotify

Send a SIP notify.

Send a SIP Notify event.

All parameters for this event must be specified in the body of this request via multiple Variable: name=value sequences.

Action: SIPnotify
ActionID: <value>
Channel: <value>
Variable: <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Channel - Peer to receive the notify.
  • Variable - At least one variable pair must be specified. name=value

Example

Normal

Action: SIPnotify
Channel: pluto.pchero21.com:5060
Variable: SIPnotify_key1=SIPnotify_val1

Response: Success
Message: Notify Sent

이후, Asterisk Server 에서 sip 메시지 내용을 확인하면 NOTIFY 를 전송한 것을 확인할 수 있다.

Scheduling destruction of SIP dialog '52a10f2b47853ad54bf97ccf4bd5202f@10.12.118.11:5060' in 32000 ms (Method: NOTIFY)
Reliably Transmitting (no NAT) to 10.12.118.11:5060:
NOTIFY sip:pluto.pchero21.com:5060 SIP/2.0
Via: SIP/2.0/UDP 10.12.118.11:5060;branch=z9hG4bK6f632b19
Max-Forwards: 70
From: "asterisk" <sip:asterisk@10.12.118.11>;tag=as08c857d4
To: <sip:pluto.pchero21.com:5060>
Contact: <sip:asterisk@10.12.118.11:5060>
Call-ID: 52a10f2b47853ad54bf97ccf4bd5202f@10.12.118.11:5060
CSeq: 102 NOTIFY
User-Agent: Asterisk PBX 14.3.0
Date: Fri, 14 Jul 2017 12:25:36 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Subscription-State: terminated
SIPnotify_key1: SIPnotify_val1
Content-Length: 0

See also

SIPpeers

현재 등록되어 있는 모든 SIP peer 를 보여준다.

Action: SIPpeers
ActionID: <value>
  • ActionID - ActionID for this transaction. Will be returned.

Example

Action: SIPpeers

Response: Success
EventList: start
Message: Peer status list will follow

Event: PeerEntry
Channeltype: SIP
ObjectName: 200
ChanObjectType: peer
IPaddress: -none-
IPport: 0
Dynamic: yes
AutoForcerport: yes
Forcerport: no
AutoComedia: no
Comedia: no
VideoSupport: no
TextSupport: no
ACL: no
Status: Unmonitored
RealtimeDevice: no
Description: 
Accountcode: 

...

Event: PeerlistComplete
EventList: Complete
ListItems: 12

See also

SIPpeerstatus

지정된 SIP peer 의 status 를 확인한다.

만약 SIP peer 를 지정하지 않을 경우, 모든 SIP peer 의 status 를 돌려준다.

정상적인 sip peer status 를 확인하기 위해서는 sip.conf 에서 해당 peer 의 설정에 qualify=yes 옵션을 설정해주어야 한다. 만약 qualify=yes 옵션을 설정하지 않을 경우, status 는 "Unmonitored" 라고 표시된다.

Action: SIPpeerstatus
ActionID: <value>
[Peer:] <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Peer - The peer name you want to check.

Example

  • qualify 설정 전.
Action: SIPpeerstatus
Peer: SIP/300

Response: Success
EventList: start
Message: Peer status will follow

Event: PeerStatus
Privilege: System
ChannelType: SIP
Peer: SIP/300
PeerStatus: Unmonitored

Event: SIPpeerstatusComplete
EventList: Complete
ListItems: 1
  • qualify 설정 후.
Action: SIPpeerstatus
Peer: SIP/300

Response: Success
EventList: start
Message: Peer status will follow

Event: PeerStatus
Privilege: System
ChannelType: SIP
Peer: SIP/300
PeerStatus: Unknown

Event: SIPpeerstatusComplete
EventList: Complete
ListItems: 1

See also

SIPqualifypeer

Qualify SIP peers.

Action: SIPqualifypeer
ActionID: <value>
Peer: <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Peer - The peer name you want to qualify.

Example

Action: SIPqualifypeer
Peer: 300

Response: Success
Message: SIP peer found - will qualify

Event: SIPQualifyPeerDone
Privilege: call,all
Peer: 300

See also

SIPshowpeer

Show one SIP peer with details on current status.

Action: SIPshowpeer
ActionID: <value>
Peer: <value>
  • ActionID - ActionID for this transaction. Will be returned.
  • Peer - The peer name you want to check.

Example

Action: SIPshowpeer
Peer: 300

Response: Success
Channeltype: SIP
ObjectName: 300
ChanObjectType: peer
SecretExist: Y
RemoteSecretExist: N
MD5SecretExist: N
Context: public
Language: 
ToneZone: <Not set>
AMAflags: Unknown
CID-CallingPres: Presentation Allowed, Not Screened
Callgroup: 
Pickupgroup: 
Named Callgroup: 
Named Pickupgroup: 
MOHSuggest: 
VoiceMailbox: 
TransferMode: open
LastMsgsSent: 0
Maxforwards: 0
Call-limit: 2147483647
Busy-level: 0
MaxCallBR: 384 kbps
Dynamic: Y
Callerid: "" <>
RegExpire: 548 seconds
SIP-AuthInsecure: no
SIP-Forcerport: a
SIP-Comedia: N
ACL: N
SIP-CanReinvite: Y
SIP-DirectMedia: Y
SIP-PromiscRedir: N
SIP-UserPhone: N
SIP-VideoSupport: N
SIP-TextSupport: N
SIP-T.38Support: N
SIP-T.38EC: Unknown
SIP-T.38MaxDtgrm: 4294967295
SIP-Sess-Timers: Accept
SIP-Sess-Refresh: uas
SIP-Sess-Expires: 1800
SIP-Sess-Min: 90
SIP-RTP-Engine: asterisk
SIP-Encryption: N
SIP-DTMFmode: rfc2833
ToHost: 
Address-IP: 10.1.27.60
Address-Port: 36583
Default-addr-IP: (null)
Default-addr-port: 0
Default-Username: 89472105
Codecs: (ulaw|alaw|gsm|h263)
Status: OK (25 ms)
SIP-Useragent: Blink 1.4.2 (Linux)
Reg-Contact: sip:89472105@10.1.27.60:36583
QualifyFreq: 60000 ms
Parkinglot: 
SIP-Use-Reason-Header: N
Description: 

See also

Sipshowregistry

현재 등록된 SIP registry 목록을 보여준다.

Lists all registration requests and status. Registrations will follow as separate events followed by a final event called RegistrationsComplete.

Action: SIPshowregistry
ActionID: <value>

Example

Action: SIPshowregistry

Response: Success
EventList: start
Message: Registrations will follow

Event: RegistryEntry
Host: 192.168.100.10
Port: 5060
Username: test_register
Domain: 192.168.100.10
DomainPort: 5060
Refresh: 105
State: Request Sent
RegistrationTime: 1447519599

Event: RegistrationsComplete
EventList: Complete
ListItems: 1

See also

SKINNYdevices

List SKINNY devices (text format).

List Skinny devices in text format with details on current status. Devicelist will follow as separate events, followed by a final event called DevicelistComplete.

Action: SKINNYdevices
ActionID: <value>

Example

Action: SKINNYdevices

Response: Success
EventList: start
Message: Device status list will follow

Event: DevicelistComplete
EventList: Complete
ListItems: 0

See also

SKINNYlines

List SKINNY lines (text format).

Lists Skinny lines in text format with details on current status. Linelist will follow as separate events, followed by a final event called LinelistComplete.

Action: SKINNYlines
ActionID: <value>

Example

Empty lists

Action: SKINNYlines

Response: Success
EventList: start
Message: Line status list will follow

Event: LinelistComplete
EventList: Complete
ListItems: 0

See also

SKINNYshowdevice

Show SKINNY device (text format).

Show one SKINNY device with details on current status.

Action: SKINNYshowdevice
ActionID: <value>
Device: <value>
  • Device : The device name you want to check.

See also

SKINNYshowline

Show SKINNY line (text format).

Show one SKINNY line with details on current status.

Action: SKINNYshowline
ActionID: <value>
Line: <value>
  • Line : The line name you want to check.

See also

SorceryMemoryCacheExpire

Expire (remove) All objects from a sorcery memory cache.

Action: SorceryMemoryCacheExpire
ActionID: <value>
Cache: <value>
  • Cache : The name of the cache to expire all objects from.

See also

SorceryMemoryCacheExpireObject

Expire (remove) an object from a sorcery memory cache.

Action: SorceryMemoryCacheExpireObject
ActionID: <value>
Cache: <value>
Object: <value>
  • Cache : The name of the cache to expire the object from.
  • Object : The name of the object to expire.

See also

SorceryMemoryCachePopulate

Expire all objects from a memory cache and populate it with all objects from the backend.

Action: SorceryMemoryCachePopulate
ActionID: <value>
Cache: <value>
  • Cache : The name of the cache to popluate.

See also

SorceryMemoryCacheStale

Marks ALL objects in a sorcery memory cache as stale.

Action: SorceryMemoryCacheStale
ActionID: <value>
Cache: <value>
  • Cache : The name of the cache to mark all object as stale in.

See also

SorceryMemoryCacheStaleObject

Mark an object in a sorcery memory cache as stale.

Action: SorceryMemoryCacheStaleObject
ActionID: <value>
Cache: <value>
Object: <value>
[Reload:] <value>
  • Cache : The name of the cache to mark the object as stale in.
  • Object : The name of the object to mark as stale.
  • Reload : If true, then immediately reload the object from the backend cache instead of waiting for the next retrieval.

See also

Status

List channel status.

Will return the status information of each channel along with the value for the specified channel variables.

Action: Status
ActionID: <value>
[Channel:] <value>
Variables: <value>
AllVariables: <value>
  • ActionID
  • Channel : The name of the channel to query for status.
  • Variables : Comma(,) separated list of variable to include.
  • AllVariables : If set to "true", the Status event will include all channel variables for the requested channel(s).
true
false

Response message

Example

Action: Status
AllVariables: true
ActionID: a6519095-0c70-42ec-a013-ead0cae59401

Response: Success
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
EventList: start
Message: Channel status will follow

Event: Status
Privilege: Call
Channel: SIP/300-0000000c
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 300
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode: 
Context: sample_park
Exten: s
Priority: 2
Uniqueid: 1481806671.27
Linkedid: 1481806671.27
Type: SIP
DNID: 4001
EffectiveConnectedLineNum: <unknown>
EffectiveConnectedLineName: <unknown>
TimeToHangup: 0
BridgeID: 299de6ea-1dc7-4144-9e46-d6513723333e
Linkedid: 1481806671.27
Application: Park
Data: 
Nativeformats: (ulaw)
Readformat: ulaw
Readtrans: 
Writeformat: gsm
Writetrans: (gsm@8000)->(slin@8000)->(ulaw@8000)
Callgroup: 0
Pickupgroup: 0
Seconds: 2
Variable: SIPCALLID=1945371327@pluto.pchero21.com
Variable: SIPDOMAIN=pluto.pchero21.com
Variable: SIPURI=sip:300@10.1.27.60:5060
ActionID: a6519095-0c70-42ec-a013-ead0cae59401

Event: StatusComplete
ActionID: a6519095-0c70-42ec-a013-ead0cae59401
EventList: Complete
ListItems: 1
Items: 1

See also

StopMixMonitor

Stop recording a call through MixMonitor, and free the recording's file handle.

This action stops the audio recording that was started with the MixMonitor action on the current channel.

Action: StopMixMonitor
ActionID: <value>
Channel: <value>
[MixMonitorID:] <value>
  • Channel : The name of the channel monitored.
  • MixMonitorID : If a valid ID is provided, then this command will stop only that specific MixMonitor.

See also

StopMonitor

Stop monitoring a channel.

This action may be used to end a previously started 'Monitor' action.

Action: StopMonitor
ActionID: <value>
Channel: <value>
  • Channel : The name of the channel monitored.

See also

UnpoauseMonitor

Unpause monitoring of a channel.

This action may be used to re-enable recording of a channel after calling PauseMonitor.

Action: UnpauseMonitor
ActionID: <value>
Channel: <value>
  • Channel : Used to specify the channel to record.

See also

UpdateConfig

Update basic configuration.

This action will modify, create, or delete configuration elements in Asterisk configuration files.

Action: UpdateConfig
ActionID: <value>
SrcFilename: <value>
DstFilename: <value>
Reload: <value>
PreserveEffectiveContext: <value>
Action-000000: <value>
Cat-000000: <value>
Var-000000: <value>
Value-000000: <value>
Match-000000: <value>
Line-000000: <value>
Options-000000: <value>
  • SrcFilename : Configuration filename to read (e.g. foo.conf).
  • DstFilename : Configuration filename to write (e.g. foo.conf).
  • Reload : Whether or not a reload should take place (or name of specific module).
  • PreserveEffectiveContext : Whether the effective category contents should be preserved on template change. Default is true.
  • Action-000000 : Action to take. 0's represent 6 digit number beginning with 000000.
NewCat : 지정된 카테고리를 새로 생성한다.
RenameCat : 지정된 카테고리의 이름을 변경한다.
DelCat : 지정된 카테고리를 삭제한다.
EmptyCat : 지정된 카테고리의 내용을 비운다.
Update : 지정된 카테고리/아이템 의 내용을 변경한다.
Delete : 지정된 카테고리/아이템 의 내용을 삭제한다.
Append : 지정된 카테고리/아이템 에 value 를 추가한다.
Insert : 지정된 카테고리/아이템/라인 에 value 를 추가한다.
  • Cat-000000 : Category to perate on. 0's represent 6 digit number beginning with 000000.
  • Var-000000 : Variable to work on. 0's represent 6 digit number beginning with 000000.
  • Value-000000 : Value to work on. 0's represent 6 digit number beginning with 000000.
  • Match-000000 : Extra match required to match line. 0's represent 6 digit number beginning with 000000.
  • Line-000000 : Line in category to operate on (used with delete and insert actions).
  • Options-000000 : A comma separated list of action-specific options.

Example

Action: UpdateConfig
SrcFilename: voicemail.conf
DstFilename: voicemail.conf
Reload: false
Action-000000: Append
Cat-000000: vm-demo
Var-000000: 6002
Value-000000: 9271,Bob Smith,bob@example.com,bob2@example.com,attach=yes|tz=eastern

Response: Success

See also

UserEvent

Send an arbitrary event.

Send an event to manager sessions.

Action: UserEvent
ActionID: <value>
UserEvent: <value>
Header1: <value>
HeaderN: <value>
  • UserEvent : Event string to send.
  • Header1 : Content 1
  • HeaderN : Content N

See also

VoicemailRefresh

Tell Asterisk to poll mailboxes for a change.

Normally, MWI indicators are only sent when Asterisk itself changes a mailbox. With external programs that modify the content of a mailbox from outside the application, an option exists called pollmailboxes that will cause voicemail to continually scan all mailboxes on a system for changes. This can cause a large amount of load on a system.

This command allows external applications to signal when a particular mailbox has changed, thus permitting external applications to modify mailboxes and MWI to work without introducing considerable CPU load.

If Context is not specified, all mailboxes on the system will be polled for changes. If Context is specified, but Mailbox is omitted, then all mailboxes within Context will be polled. Otherwise, only a single mailbox will be polled for changes.

Action: VoicemailRefresh
ActionID: <value>
Context: <value>
Mailbox: <value>
  • Context
  • Mailbox

Example

Action: VoicemailRefresh
Context: vm-demo
Mailbox: agent-01

Response: Success
Message: Refresh sent

See also

VoicemailUserList

List All Voicemail User Information.

Action: VoicemailUsersList
ActionID: <value>

Example

Action: VoicemailUsersList

Response: Success
EventList: start
Message: Voicemail user list will follow

Event: VoicemailUserEntry
VMContext: default
VoiceMailbox: 1234
Fullname: Example Mailbox
Email: root@localhost
Pager: 
ServerEmail: asterisk
FromString: 
MailCommand: /usr/sbin/sendmail -t
Language: 
TimeZone: 
Callback: 
Dialout: 
UniqueID: 
ExitContext: 
SayDurationMinimum: 2
SayEnvelope: Yes
SayCID: No
AttachMessage: Yes
AttachmentFormat: 
DeleteMessage: No
VolumeGain: 0.00
CanReview: No
CallOperator: No
MaxMessageCount: 100
MaxMessageLength: 0
NewMessageCount: 6

...

Event: VoicemailUserEntryComplete
EventList: Complete
ListItems: 8

See also

WaitEvent

Wait for an event to occur.

This action will elicit a Success response. Whenever a manager event is queued. Once WaitEvent has been called on an HTTP manager session, events will be generated and queued.

Action: WaitEvent
ActionID: <value>
Timeout: <value>
  • Timeout : Maximum time (in seconds) to wait for events, -1 means forever.

See also

See also

References

<references />