Difference between revisions of "Ackis2.0/Protocol"
From Makers Local 256
< Ackis2.0
m (→components?: changed the components section to info and cleaned up a little) |
m (added related information) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 38: | Line 38: | ||
** none | ** none | ||
− | == | + | ==component== |
+ | If component is implemented, it must support at least action=list, type=types, and type=actions so you can get a listing of the types and actions supported. | ||
===action=== | ===action=== | ||
* '''list''' | * '''list''' | ||
Line 53: | Line 54: | ||
* something like '''query''' for the database resource or '''convert''' for the image resource | * something like '''query''' for the database resource or '''convert''' for the image resource | ||
− | === | + | ===data=== |
+ | * this field can be used in both directions, or only the return direction depending on whether the resource needs bulk data along with the action | ||
* rides on the responseid back to the calling component | * rides on the responseid back to the calling component | ||
* maybe this is just a subset of <message>s? | * maybe this is just a subset of <message>s? | ||
Line 67: | Line 69: | ||
** the core MUST translate this forward and backward as necessary or the initiator will be unaware of the responseid | ** the core MUST translate this forward and backward as necessary or the initiator will be unaware of the responseid | ||
− | == | + | ==info== |
* describes an error encountered by either the core or a component and will close the connection in most cases. | * describes an error encountered by either the core or a component and will close the connection in most cases. | ||
− | + | ===number=== | |
+ | * similar to HTTP error messages? | ||
+ | ** 2xx for general info | ||
+ | *** 200 Acknowldegement | ||
+ | ** 4xx for user error | ||
+ | *** 400 Missing or bad critical identifier (could be a responseid, a variable name, or a registration type) | ||
+ | *** 401 Component not registered | ||
+ | *** 402 Multiple component types (components are allowed multiple registrations, but only of a single type) | ||
+ | *** 403 Must be authorized | ||
+ | ** 5xx for core error | ||
+ | *** 500 Not Implemented | ||
===message=== | ===message=== | ||
− | * | + | * message describing the event that caused the info packet to be transmitted |
** "ResponseID not found in lookup table" | ** "ResponseID not found in lookup table" | ||
** "Duplicate responseid detected" | ** "Duplicate responseid detected" | ||
− | ** "Malformed XML". | + | ** "Malformed XML" |
+ | ** "Welcome to this Ackis2.0 server" | ||
+ | ** "You must authenticate with this server before proceeding" | ||
+ | |||
+ | ==Related Information== | ||
+ | *[[IRC bot for controlling an Asterisk server]] |
Latest revision as of 12:17, 25 August 2011
Packet
responseid
- Typically the only attribute in the <packet> tag
- String of a reasonable length
auth
username
- the username, duh
hash
- this is a md5 hash of the username concatenated with the responseid and password in that order
register
- There can be more then one of these for components
type
- typically client or module or resource but not limited to such
callback
- regular expressions for messages without previous responseids
mime
- the mimetype for the types of messages that can be sent to this client.
message
mime
- the mimetype of the message, common values are:
- text/plain
- image/jpeg
data
- contents of message
type
- type of message
- targeted
- triggered
- emote
- topic
- mode
- quit
- join
- part
- none
component
If component is implemented, it must support at least action=list, type=types, and type=actions so you can get a listing of the types and actions supported.
action
- list
- returns a list of all of the components of type
type
- module or resource or something the core will have listed.
resource
type
- something like database or image
action
- something like query for the database resource or convert for the image resource
data
- this field can be used in both directions, or only the return direction depending on whether the resource needs bulk data along with the action
- rides on the responseid back to the calling component
- maybe this is just a subset of <message>s?
variable
- lets a component retrieve a variable from an other component that initiated a message
name
- contains the name of the variable to be returned
value
- contains the value of the variable to be returned
responseid
- the responseid that the message came in on and identifies the transaction to the core and to the initiator
- the core MUST translate this forward and backward as necessary or the initiator will be unaware of the responseid
info
- describes an error encountered by either the core or a component and will close the connection in most cases.
number
- similar to HTTP error messages?
- 2xx for general info
- 200 Acknowldegement
- 4xx for user error
- 400 Missing or bad critical identifier (could be a responseid, a variable name, or a registration type)
- 401 Component not registered
- 402 Multiple component types (components are allowed multiple registrations, but only of a single type)
- 403 Must be authorized
- 5xx for core error
- 500 Not Implemented
- 2xx for general info
message
- message describing the event that caused the info packet to be transmitted
- "ResponseID not found in lookup table"
- "Duplicate responseid detected"
- "Malformed XML"
- "Welcome to this Ackis2.0 server"
- "You must authenticate with this server before proceeding"