| Target Namespace | http://www.innovaphone.com/xsd/voicemail6.xsd |
|---|---|
| Element and Attribute Namespaces |
|
| Prefix | Namespace |
|---|---|
| Default namespace | http://www.innovaphone.com/xsd/voicemail6.xsd |
| xml | http://www.w3.org/XML/1998/namespace |
| mstns | http://www.innovaphone.com/xsd/voicemail6.xsd |
| xs | http://www.w3.org/2001/XMLSchema |
| Name | add |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Performs an addition of two numbers. The result will be written to the variable specified by 'out'. |
| Application Data | Example: <add value="1" value2="2" out="$res"> yields: $res=3 |
| Name | assign |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Assigns the value 'value' to the variable 'out'. Internally, most variable values are held as strings, which is also the default for values assigned by <assign>. If the optional attribute 'type' equals "number" the value will be forced to be stored as an unsigned integer number. |
| Application Data | Example: <assign out="test" value="123"/> |
| Name | call |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Calls a function. Upon function return, the interpretation resumes at the instruction following the <call> statement.
Example: <function define="one"> ... </function> <function define="two"> <call name="one"> </function> |
| Application Data |
| Name | case |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | This element must be a child element of <switch>. It can have one comparision operator, that tests whether two operands are equal, not-equal, etc. . One of the two operands is always the variable specified in the parent <switch> element. The other operand is the content of the <case>-attribute being currently processed. It can be either literal or variable content. |
| Application Data |
| Name | dbg |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Prints a message 'string' into the trace output (provided, the VM's trace-checkmark was activated). |
| Application Data |
Example: <dbg string="Hello world"/>
|
| Name | default |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Name | else |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | The <else> element allows to control the program flow. It does not have attributes and, if present, must be preceded by an <if> ..</if> clause. |
| Name | event |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Specifies an event handler. The attribute 'block' controls, whether the event handler is blocking or not.
A non-blocking(default) event handler covers all of the following elements and their child elements. But only within the parent element, where the event handler was specified.
Non-blocking event handlers will be called pretty much like a function. At the end of a non-blocking event handler, the interpretation resumes one instruction after that, which caused the event. The <return> element may be making sense within an non-blocking handler. If a handler can not be found for the element, where the event occurred, the interpreter's calling stack will be unwinded until a handler can be found. Currently possible event types are: "dtmf" (recognition of DTMF events), "call-info" (reception of SIG_INFO messages during call setup phase), "call-end" (signals the end of the call into the vm object). |
| Application Data |
Example:
<event type="dtmf" block="false"> <pbx-getdtmfdigit out-dtmf="$dtmf" /> <switch var="$dtmf"> <case equal="1">...</case> <case equal="2">...</case> <case equal="3">...</case> </switch> </event> <while cond="true"> ... <pbx-prompt url="..."/> <!-- here DTMFs can occur --> ... </while> The non-blocking event handler covers the entire while-loop. |
| Name | exec |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Executes an HTTP GET CGI-request with the URL 'url'. The Url is supposed to contain arbitrary script variables.
The remote CGI script shall return a short voicemail script comprising <assign> elements.
The <exec> element thereby provides the means to send arbitrary variables to e.g. a remote Perl-script.
The Perl-script can, in turn, modify arbitrary variables within the voicemail script.
out-error: From on V10SR11: The numeric 'out-error' can be: success(0), common_error(1) |
| Application Data |
Example: <assign out="$cgpn" value="00431234567"/> <exec url="http://192.168.0.5/countrybynumber.pl?cgpn=$cgpn"/>
The Perl script will return the following script: <?xml version="1.0" encoding="utf-8" ?> <voicemail xmlns="http://www.innovaphone.com/xsd/voicemail6.xsd"> <assign out="$lang" value="Austria"/> </voicemail> |
| Name | function |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Declares a function that can be called by means of <call>.
At least one function with the name "Main" must be present per script.
Example: <function define="one"> ... </function> <function define="two"> <call name="one"> </function> |
| Application Data | Only one variable scope exists for all functions. |
| Name | if |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | The <if> element allows to control the program flow. The attributes resemble something to express that a condition 'cond' is true or that a condition 'notcond' is false. |
| Name | index |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Indexes at positon 'pos' into a string 'value' and writes 'size' characters to the variable specified by 'out'. If 'size' is not provided, all of the remaining characters will be returned. Useful to process DTMF strings. |
| Application Data | Example: <assign out="$dtmfs" value="7645"/> <index out="$res" value="$dtmfs" pos="2" size="1"/> yields: $res=6 |
| Name | lib-dec |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Decode the string 'string' and write the result to the variable 'out-string'. (Available from on v9hotfix20) |
| Application Data |
Example: <lib-dec string="Hello+World" out-string="$dec" type="url"/> yields: $dec='Hello World'
type can currently be of: URL-Encoding('url') |
| Name | lib-enc |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Encode the string 'string' and write the result to the variable 'out-string'. (Available from on v9hotfix20) |
| Application Data |
Example: <lib-enc string="Hello World" out-string="$enc" type="url"/> yields: $enc='Hello+World'
type can currently be of: URL-Encoding('url') |
| Name | lib-strcat |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Appends the string 'string2' to the end of the string 'string' and writes the result to the variable 'out-string'. |
| Application Data | Example: <lib-strcat out-string="$res" string="hi" string2=" there"/> yields: $res='hi there' |
| Name | lib-strlen |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Calculates the length of the string 'string' and writes the result to the variable 'out'. |
| Application Data | Example: <lib-strlen out="$res" string="hi"/> yields: $res=2 |
| Name | license |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Queries, whether a valid voicemail license is present. |
| Name | pbx-disc |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Disconnects the current call. |
| Name | pbx-finduser-e164 |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Look-up a user by its E.164 number. In case of a match the user's cn will be written to the variable specified by 'out-cn'. |
| Application Data |
Example: <pbx-finduser-e164 e164="55" out-cn="$cn"/>
|
| Name | pbx-finduser-h323 |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | (Available from on v9hotfix1 / v7hotfix29 / v8hotfix17) Look-up a user by its H.323 name. In case of a match the user's cn will be written to the variable specified by 'out-cn'. |
| Application Data |
Example: <pbx-finduser-h323 h323="foo" out-cn="$cn"/>
|
| Name | pbx-fwd |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Forwards the current call to a new destination. The element knows two variants.
It is regardless, whether the call is connected or not.
The cause code, if available, can be written to the variable, specified by 'out-cause'.
Any DTMF will end the call forwarding.
DTMFs may be suppressed by setting 'barge-in' to 'false'.
The attribute 'sec' (from 08-70192) allows to specify the time to wait for the forward call to be connected. If the operation times out, the 'out-cause' would be set to the value 128.
1) Forward the current call to a new number 'e164'. The attribute 'name' must not be present. 1) Forward the current call to a new name 'name'. The attribute 'e164' must not be present. |
| Name | pbx-getcallinfo |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Reads some information about the current call. This element is supposed to be called upon reception of an event of type "call-info".
Consecutive "call-info" events can be expected when the call is not connected and the caller provides additional dial-digits, one by one.
out-cgpn: The calling party number out-cdpn: The called party number. Note: The CDPN excludes the extension of the voicemail object. out-leg2: In case of a redirected call, this variable holds the redirecting number. (Available from on v9hotfix21) out-leg2-name: In case of a redirected call, this variable holds the redirecting name. (Available from on v9hotfix17) out-leg2-orig: In case of a multiple redirected call, this variable holds the original redirecting number. (Available from on v9hotfix21) out-leg2-orig-name: In case of a multiple redirected call, this variable holds the original redirecting name. out-leg2-count: (from on V9) In case of a redirected call, this variable holds the diversion count. out-ctl-call: (from on V9) Tells, whether this is a control call(true) or a regular media call(false). out-h323: (from on v9hotfix1 / v7hotfix29 / v8hotfix17) The calling party's H.323 name. out-leg2-reason: (from on v9hotfix5) The diversion reason: CFU(1), CFB(2), CFNR(3). out-confid: (from on v9hotfix19) The call's conference id. May be correlated to a CDR's value 'ref=..'. out-calling-name: (from on v9hf21) The H.450 callingName. |
| Name | pbx-getdtmfdigit |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Reads the current dtmf digit. This element is supposed to be called upon reception of an event of type "dtmf".
out-dtmf: The DTMF digit. |
| Name | pbx-get-presence |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Query the current accmumulated presence information for the user 'name'
Available from on V9 |
| Application Data |
<pbx-get-presence name="Test1" out-activity="$a" out-note="$n"/>
|
| Name | pbx-im |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Sends an instant message to the destination specified by 'e164' or 'name'.
The content of the instant message will be copied from 'text'
The originator of the instant message will be stamped with 'cgpn'.
1) <pbx-im cgpn="00301234567" e164="75" text="Hi Pal!"/> Available from on FW: 08-70074 type: (from on V9) specifies the mime-type "text"(default), "xml", "html" |
| Name | pbx-mwi |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Marks that an MWI update message shall be sent at the end of the current call. The destination for the mwi call will be derived from the dialled CDPN, minus the prefix of the servicing voicemail object.
E.g. the VM is reachable under 826. The caller dialled 826173. The mwi call will be sent to 173.
The element knows three variants. 1) If the numeric value 'value' is provided, then this value will be sent as message-count within the MWI update message. This variant rather makes only sense, in order to switch-off an MWI by means of <pbx-mwi value="0"/>. 2) If 'value' is not present, then the current number of files within the directory of the affected user will be queried and sent. 3) If 'e164' is present, an additional MWI will be sent to the user corresponding to the e164 number. |
| Name | pbx-park |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Parks the current call at the destination specified by 'e164'. If no destination is given the destination is the VM object itself.
A parking position 0..n may be specified in 'pos'. If no such position is specified, the next free parking position is going to be assigned.
If a parking position is specified and occupied the parking operation is likely to be failing.
The resulting number, position and cause-value will be returned in 'out-cdpn', 'out' and 'out-cause'.
A cause-value other than '0' indicates a failed parking operation.
<pbx-park e164="55" pos="8" out="$pos" out-cdpn="$out-cdpn" out-cause="$cau"/> A DTMF object may be used to unpark a parked call by e.g. dialling '#17855#'. Available from on V8 |
| Name | pbx-prepcallinfo |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Sets some calling line information for the next invokation of 'pbx-fwd', 'pbx-xfer'.
cgpn: The calling party number. string: The calling name. I.e. the supplementary service 'calling name'. name: The h323 calling name. Following leg2.. attributes are available from on v9hf17 leg2: redirecting number. leg2-name: redirecting name. leg2-counter: number of redirections(usually 1). leg2-reason: redirection reason CFU(1), CFB(2), CFNR(3) |
| Name | pbx-prompt |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Plays a media file specified by 'url', where 'url' is supposed to be the variable output of <store-get/>.
A maximum playtime can be specified as seconds in 'sec'.
The attribute 'repeat' controls, whether the file is to be played in a loop.
By means of 'barge-in' one can control, whether DTMF input will be ignored during prompting.
url: usually a variable holding an URL sec: seconds repeat: either "true" or "false" barge-in: either "true" or "false" |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-get root="smith" name="personal/personal_greeting.g729" out-url="$url"/> <pbx-prompt url="$url"/> Plays the file http://192.168.0.5/vm/smith/personal/personal_greeting.g729. |
| Name | pbx-query-obj |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Reads a property, given by 'type', to the variable, given by 'out', from the PBX object given by 'name' (that is CN or Long Name).
Currently type can be of: 'url', 'filter', 'cd_filter', 'e164', 'h323', 'cfu', 'cfb', 'cfnr', 'user_type', 'pseudo_type', 'pseudo_text', 'email'. Available from on FW: 07-60747 'cfu', 'cfb', 'cfnr' can be queried from on FW: 08-60900.52 'user_type', 'pseudo_type', 'pseudo_text' can be queried from on FW: V9HF4 'user_type': 1(endpoint), 2(other object alike gw) 'pseudo_type': 'vm', 'bc_conf', 'trunk', etc 'pseudo_text': 'Voicemail', 'Bc Conference', 'Trunk Line', etc 'email' can be queried from on FW: V10 'bool-status' can be queried for a bool object from on FW: V10SR7. It'll return either 'true' or 'false' |
| Name | pbx-record |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Records into a file specified by 'url'.
A maximum recording time can be specified as seconds in 'sec'.
By means of 'barge-in' one can control, whether DTMF input will be ignored during recording.
url: usually a variable holding an URL sec: seconds barge-in: either "true" or "false" |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-get root="smith" name="personal/tmp_personal_greeting.g729" out-url="$url"/> <pbx-record url="$url"/> Records the file http://192.168.0.5/vm/smith/personal/tmp_personal_greeting.g729. |
| Name | pbx-set-presence |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Set the presence information for the user 'name'.
If 'contact' is present an im-presence is going to be set.
If 'contact' is not present the tel-presence is going to be set.
activity: 'away', 'busy', 'lunch', 'meeting', 'vacation' note: a textual note contact: e.g. an email address Available from on V9 |
| Application Data |
Set the tel-presence: <pbx-set-presence name="John Doe" activity="vacation"/>
Remove the tel-presence: <pbx-set-presence name="John Doe"/>
Set an im-presence: <pbx-set-presence name="John Doe" activity="vacation" contact="john@example.com"/>
Remove an im-presence: <pbx-set-presence name="John Doe" contact="john@example.com"/>
|
| Name | pbx-upd-obj |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Writes a property, given by 'type', with the value, given by 'value', to the PBX object given by 'name'.
The element knows two variants:
1)If 'name' is not present, the object property will just be gathered temporarily within an internal buffer for writing - no write occurs. 2)If 'name' is present, the object will be written to. These two variants serve in writing multiple object properties in one instance. Currently type can be of: 'filter', 'cfu', 'cfb', 'cfnr', 'url', 'cd_filter'. Available from on FW: 07-60712 |
| Name | pbx-xfer |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Variant of 'pbx-fwd' for scenarios with mass call-distribution. The script interpreter resources are immediately freed on successful operation. I.e. there's no script continuation taking place anymore for the call being affected. Except, if 'out-cause' got assigned a value unequal zero after execution - then will the script interpretation be continueing.
The element knows two variants.
It is regardless, whether the call is connected or not.
The cause code, if available, can be written to the variable, specified by 'out-cause'.
Note: For firmware version 9 the internal implementation has been changed. Instead of being a variant of 'pbx-fwd', a call transfer is now taking place. 1) Forward the current call to a new number 'e164'. The attribute 'name' must not be present. 1) Forward the current call to a new name 'name'. The attribute 'e164' must not be present. Available from on FW: 08-70132 |
| Name | return |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Returns from a function or from a non-blocking event handler. The element may be used as "return if", if the if-attributes are provided. |
| Name | store-cookie |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Writes or reads arbitrary script variables to/from a file. The URL to the file is composed from parts of the configured voicemail script URL, a sub-path 'root' and a file name 'name'.
The element knows two variants:
1) Write a script variable, whereby the variable is specified in 'value'. The element 'out' must not be present. 2) Read a script variable, whereby the variable is specified in 'out'. The element 'value' must not be present. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
1) <store-cookie root="smith" name="personal/pin.txt" value="$pin"/>, writes $pin to http://192.168.0.5/vm/smith/personal/pin.txt 2) <store-cookie root="smith" name="personal/pin.txt" out="$pin"/>, reads $pin from http://192.168.0.5/vm/smith/personal/pin.txt |
| Name | store-del |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
The element knows to variants.
1) Delete a file, where the URL to the file is composed from parts of the configured voicemail script URL, a sub-path 'root' and a file name 'name'. 2) Delete a file, where the URL to the file is specified in 'url'. This variant is useful when the URL has already been retrieved by e.g. <store-getnext>. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
1) <store-del root="smith" name="test.g729"/> 2) <assign out="$url" value="http://192.168.0.5/vm/smith/test.g729"/> <store-del url="$url"/> Both examples will delete the file 'http://192.168.0.5/vm/smith/test.g729'. |
| Name | store-get |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Composes a url 'out-url' from parts of the configured voicemail script URL, a sub-path 'root' and a filename 'name'. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-get root="smith" name="personal_welcome.g729" out-url="$res"> yields: $res='http://192.168.0.5/vm/smith/personal_welcome.g729' |
| Name | store-get-msgcount |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Retrieves the number of files within a directory and writes the result to the variable specified by 'out-count'. The URL of the directory is composed from parts of the configured voicemail script URL and a sub-path 'root'. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
Example: <store-get-msgcount root="smith" out-count="$res"/> yields: $res=7 i.e. http://192.168.0.5/vm/smith/ seems to be containing seven files. |
| Name | store-getnew |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Composes a url 'out-url' to a new unique file name from parts of the configured voicemail script URL, a sub-path 'root', an internally calculated GUID as a new file name, and a file extension 'ext'. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-getnew root="smith" ext=".g729" out-url="$res"/> yields: $res='http://http://192.168.0.5/vm/smith/94e6d69ae909d311891100903306000c.g729' |
| Name | store-getnext |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Allows to browse through the file names present in a directory. The URL to the directory is composed from parts of the configured voicemail script URL and a sub-path 'root'.
The element knows two variants.
1) Retrieve the first file name and store an I/O handle to 'out-handle'. The attribute 'handle' must be empty. 2) Retrieve the next file name, whereby the I/O handle must be provided in 'handle'. The attribute 'out-handle' must be empty. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-getnext root="smith" out-handle="$handle" out-url="$message"/> <while cond="$message"> <store-getnext handle="$handle" out-url="$message"/> <pbx-prompt url="$message"/> </while> All file present in http://192.168.0.5/vm/smith/ will be played. From on v9 the attribute 'params' allows to pass a sorting order to the file system (useful only in variant 1) ). Possible values for 'params' are: 'unsorted', 'up-name', 'up-size', 'up-ctime', 'down-name', 'down-size', 'down-ctime'. The corresponding value meanings: no sort order, ascending by name, ascending by size, ascending by creation time, descending by name, descending by size, descending by creation time. |
| Name | store-getprev |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Moves an internal cursor to the previous file name as seen relative to a prior call of <store-getnext>. The correlation to former <store-getnext> calls must be provided as 'handle'. The resulting URL is written to the variable specified by 'out-url'. |
| Name | store-getstat |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Retrieves properties of a file or directory. The URL to the file is composed from parts of the configured voicemail script URL and a sub-path 'root'.
The file properties include the modification timestamp and the file size.
The modification time is returned as weekday 1..7 in 'out-wday', day of month 1..31 in 'out-mday', month 1..12 in 'out-mon', year xxxx in 'out-year', hour 0..23 in 'out-hour', minute 0..59 in 'out-min'. The numeric 'out-type' can be: file(0), directory(1) The numeric 'out-error' can be: success(0), busy(1), not_found(2), not_locked(3), not_allowed(4), out_of_space(5), already_exist(6), unspecified_error(7) |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-getstat root="smith" name="message.g729" out-wday="$wday" out-mday="$mday" out-mon="$mon" out-year="year" out-hour="$hour" out-min="$min" out-error="$error" out-size="$size" out-type="$type"/> Retrieves the properties for http://192.168.0.5/vm/smith/message.g729 |
| Name | store-mkdir |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Creates a new directory. The URL to the directory is composed from parts of the configured voicemail script URL and a sub-path 'root'. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-mkdir root="smith" name="personal"/> The directory http://192.168.0.5/vm/smith/personal/ will be created. |
| Name | store-ren |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Renames a file. The URL to the file is composed from parts of the configured voicemail script URL, a sub-path 'root' and the file name 'name'. The new name must be provided as 'new-name' and is supposed to be relative to the directory where the original file is located. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-ren root="smith" name="tmp.g729" new-name="welcome.g729"/> Renames http://192.168.0.5/vm/smith/tmp.g729 into http://192.168.0.5/vm/smith/welcome.g729 |
| Name | store-rmdir |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Removes a directory. The URL to the directory is composed from parts of the configured voicemail script URL and a sub-path 'root'. |
| Application Data |
Example: The configured URL to the voicemail script be: http://192.168.0.5/vm/vm.xml
<store-rmdir root="smith" name="personal"/> The directory http://192.168.0.5/vm/smith/personal/ will be deleted. |
| Name | store-split |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Decomposes the URL 'url' into a path 'out-path' and a file name 'out-file'. Since new voicemails are stored in such, that the CGPN is part of the file name, the CGPN will be written to the variable specified by 'out-cgpn'. The hyphen character '-' serves as the CGPN-separator. |
| Application Data |
Example:
<assign out="url" value="http://192.168.0.5/vm/smith/258ada22e909d31185a3009033060226-00401234567.g729"/>
<store-split url="$url" out-path="$path" out-file="$file" out-cgpn="$cgpn"/> this yields: $path='http://192.168.0.5/vm/smith/', $file='258ada22e909d31185a3009033060226-00401234567.g729', $cgpn='00401234567' |
| Name | sub |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Performs an subtraction of two numbers. The result will be written to the variable specified by 'out'. |
| Application Data | Example: <sub value="2" value2="1" out="$res"> yields: $res=1 |
| Name | switch |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | The <switch> element allows to control the program flow. The attribute 'var' must be provided. Its content is supposed to be investigated further within <case> child elements. The child elements are interpreted one by one. The first element with a matching condition terminates this evaluation. Therefore it makes rather only sense to write an optional <default> element to the very end of the child elements. |
| Application Data |
Example:
<switch var="$msgcount"> <case equal="0"> <store-get root="" name="de_none.g729" out-url="$ctrl" /> <pbx-prompt url="$ctrl" /> </case> <case greater="10"> <store-get root="" name="de_many.g729" out-url="$ctrl" /> <pbx-prompt url="$ctrl" /> </case> <case greater="0"> <lib-strcat string="de_" string2="$msgcount" out-string="$fileprefix" /> <lib-strcat string="$fileprefix" string2=".g729" out-string="$filename" /> <store-get root="" name="$filename" out-url="$ctrl" /> <pbx-prompt url="$ctrl" /> </case> </switch> |
| Name | timer |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation |
Facilitates a named timer 'name' and schedules it in 'sec' seconds. If 'sec' is not present, the timer will be stopped.
A handler is specified as: <event type="timer" name="guard">...</event> |
| Application Data |
Example: <timer name="guard" sec="40"/>
|
| Name | voicemail |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | The root-element for a voicemail script. Only <assign> and <function> statements are allowed as child elements. |
| Application Data |
<!----><voicemail>
<!--------><function define=Main"> <!--------></function> <!----></voicemail> |
| Name | wait |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | Waits 'sec' seconds before interpretations resumes. Instead of using this element it is recommended to prompt (see <pbx-prompt/>) the caller actively with silence, instead of using this element. Therefore <wait/> is useful only in states whithout a media stream. |
| Application Data |
Example: <wait sec="2"/>, waits two seconds.
|
| Name | while |
|---|---|
| Type | Locally-defined complex type |
| Nillable | no |
| Abstract | no |
| Documentation | This element is very much alike the <if> element, with the difference that it loops as long as the loop condition evaluates to 'true'. The loop condition is evaluated in the same manner as in the case of the <if> element. |
| Application Data |
| Name | case.attribs |
|---|
| Name | if.attribs |
|---|
| Super-types: | None |
|---|---|
| Sub-types: | None |
| Name | type.statements |
|---|---|
| Abstract | no |
| Name | statement.body |
|---|
| Name | statement.control |
|---|
| Name | statement.decl |
|---|
| Name | statement.executable |
|---|