completed DSM conditions/events documentation

sayer/1.4-spce2.6
Stefan Sayer 15 years ago
parent a5eefae924
commit 7db4623e63

@ -270,6 +270,9 @@ B2B call control
Conditions
==========
Conditions are combined as AND, i.e. a transition is executed if all conditions match.
Generic conditions (regardless of the type of the event):
test(#key == 1)
test(#key == prefix*)
test(#key != 1)
@ -285,42 +288,79 @@ Conditions
test(len($var) < len(#key))
test(len($var) < len(@user))
-- like test(expr), but only on key press
Other conditions only match on the type of event and when the expression expr in the
brackets match.
hangup
bye/cancel received
parameters:
#headers - headers of the BYE/CANCEL request
key(expr) or keyTest(expr)
parameters:
#key - Key pressed (0 - 11, * is 10, # is 11)
#duration - duration of key press
timer(expr) or timerTest(expr)
parameters:
#id - Timer ID
noAudio(expr) or noAudioTest(expr)
parameters:
#type - "cleared" (audio cleared) or "noAudio" (playlist empty)
separator(expr) or separatorTest(expr)
e.g. separatorTest(#id == 5)
parameters:
#id - Separator ID
e.g. separatorTest(#id == 5)
event(expr) or eventTest(expr)
generic event, e.g. passed from DI or another call with postEvent
parameters depend on the DI call/the ones passed with postEvent
keyPress(no)
-- bye received:
hangup
keyPress(key)
alias to key(#key==key)
-- event is invite (only with run_invite_event):
invite
-- event is ringing, 180 (only with run_invite_event):
invite received/sent (only with run_invite_event):
parameters: none
ringing
-- event is early session, 183 (only with run_invite_event):
ringing reply, 180 (only with run_invite_event):
parameters:
#code - SIP response code, e.g. 180
#reason - SIP reason string, e.g. "Ringing"
#has_body - "true" or "false"
early
-- event is failed call (only with run_invite_event):
early session, 183 (only with run_invite_event):
parameters: none
failed
-- event is start of session (with run_invite_event, otherwise its always true):
outgoing call failed (only with run_invite_event):
parameters:
#code - SIP response code, e.g. 404
#reason - SIP reason string, e.g. "Not found"
sessionStart
start of session (with run_invite_event):
parameters: none
-- event is startup
startup
startup of a system DSM
parameters: none
-- event is reload
startup
reload
reload (system DSM)
-- event is system event
system
system event - shutdown or SIGNAL sent (kill <pid>)
parameters:
#type - system event type, e.g. ServerShutdown, User1, User2
B2B.otherReply
Reply on other leg received (see AmB2BSession)
B2B.otherReply
Reply on other B2B leg received
parameters:
#code - reply code
#reason - reply reason
#hdrs - headers
@ -329,16 +369,59 @@ Conditions
BYE on other leg received
#hdrs - headers
sipRequest
SIP request received - only executed if enable_request_events=="true"
parameters:
#method - SIP method
#r_uri - request URI
#from - From
#to - To
#hdrs - Headers (apart from dialog-IDs)
#content_type - Content-Type
#body - body of message
#cseq - CSeq
sipReply
SIP reply received - only executed if enable_reply_events=="true"
parameters:
#code - response code
#reason - reason string
#hdrs - Headers (apart from dialog-IDs)
#content_type - Content-Type
#body - body of message
#cseq - CSeq
#dlg_status - SIP dialog status (Disconnected, Trying, ...)
#old_dlg_status - old SIP dialog status (before this reply)
jsonRpcRequest - json-rpc request received
parameters:
#ev_type - JsonRpcRequest
#method - RPC method
#is_notify - "true" or "false"
#id - request ID (if present)
#params.* - parameters array
jsonRpcResponse - json-rpc response received
#ev_type - JsonRpcResponse
#id - response ID
#is_error - "true" or "false"
#udata - user data that was saved when sending the request
#result.* or #error.* - response data array (or error data)
Selects
=======
@selects :
local_tag
user
domain
remote_tag
callid
local_uri
remote_uri
selects :
@local_tag
@user
@domain
@remote_tag
@callid
@local_uri
@remote_uri
Importing modules
=================
@ -358,6 +441,8 @@ special variables:
-> after the invite event:
do not reply with 200 OK and do not
connect session to media processor on start
enable_request_events "true" - run events on receiving a request
"false" - don't run events on receiveing request
=============================

Loading…
Cancel
Save