2
0

voicemail_ivr.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. <include>
  2. <macros name="voicemail_ivr">
  3. <macro name="press_key">
  4. <input pattern="^(.*):(.*)$">
  5. <match>
  6. <action function="play-file" data="$2"/>
  7. <action function="play-file" data="voicemail/vm-press.wav"/>
  8. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  9. </match>
  10. </input>
  11. </macro>
  12. <macro name="plural_msg">
  13. <input pattern="^[1]:(.*):(.*)$" break_on_match="true">
  14. <match>
  15. <action function="play-file" data="$1"/>
  16. </match>
  17. </input>
  18. <input pattern="^.*:(.*):(.*)$" break_on_match="true">
  19. <match>
  20. <action function="play-file" data="$2"/>
  21. </match>
  22. </input>
  23. </macro>
  24. <macro name="enter_id">
  25. <input pattern="(.+)">
  26. <match>
  27. <action function="play-file" data="voicemail/vm-enter_id.wav"/>
  28. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  29. </match>
  30. <nomatch>
  31. <action function="play-file" data="voicemail/vm-enter_id.wav"/>
  32. <action function="say" data="${VM-Key-Terminator}" method="pronounced" type="name_spelled"/>
  33. </nomatch>
  34. </input>
  35. </macro>
  36. <macro name="enter_pass">
  37. <input pattern="(.+)">
  38. <match>
  39. <action function="play-file" data="voicemail/vm-enter_pass.wav"/>
  40. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  41. </match>
  42. <nomatch>
  43. <action function="play-file" data="voicemail/vm-enter_pass.wav"/>
  44. <action function="say" data="${VM-Key-Terminator}" method="pronounced" type="name_spelled"/>
  45. </nomatch>
  46. </input>
  47. </macro>
  48. <macro name="fail_auth">
  49. <input>
  50. <match>
  51. <action function="play-file" data="voicemail/vm-fail_auth.wav"/>
  52. </match>
  53. </input>
  54. </macro>
  55. <macro name="hello">
  56. <input>
  57. <match>
  58. <!--<action function="play-file" data="voicemail/vm-hello.wav"/> -->
  59. </match>
  60. </input>
  61. </macro>
  62. <macro name="goodbye">
  63. <input>
  64. <match>
  65. <action function="play-file" data="voicemail/vm-goodbye.wav"/>
  66. </match>
  67. </input>
  68. </macro>
  69. <macro name="abort">
  70. <input>
  71. <match>
  72. <action function="play-file" data="voicemail/vm-abort.wav"/>
  73. </match>
  74. </input>
  75. </macro>
  76. <macro name="message_count">
  77. <input field="${VM-Total-New-Urgent-Messages}" pattern="^(0)$">
  78. <nomatch>
  79. <action function="play-file" data="voicemail/vm-you_have.wav"/>
  80. <action function="say" data="${VM-Total-New-Urgent-Messages}" method="pronounced" type="items"/>
  81. <action function="play-file" data="voicemail/vm-urgent-new.wav"/>
  82. <action function="phrase" phrase="plural_msg@voicemail_ivr" data="${VM-Total-New-Urgent-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
  83. </nomatch>
  84. </input>
  85. <input field="${VM-Total-New-Messages}" pattern="^(\d+)$">
  86. <match>
  87. <action function="play-file" data="voicemail/vm-you_have.wav"/>
  88. <action function="say" data="${VM-Total-New-Messages}" method="pronounced" type="items"/>
  89. <action function="play-file" data="voicemail/vm-new.wav"/>
  90. <action function="phrase" phrase="plural_msg@voicemail_ivr" data="${VM-Total-New-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
  91. </match>
  92. </input>
  93. <input field="${VM-Total-Saved-Messages}" pattern="^(0)$">
  94. <nomatch>
  95. <action function="play-file" data="currency/and.wav"/>
  96. <action function="say" data="${VM-Total-Saved-Messages}" method="pronounced" type="items"/>
  97. <action function="play-file" data="voicemail/vm-saved.wav"/>
  98. <action function="phrase" phrase="plural_msg@voicemail_ivr" data="${VM-Total-Saved-Messages}:voicemail/vm-message.wav:voicemail/vm-messages.wav"/>
  99. </nomatch>
  100. </input>
  101. </macro>
  102. <macro name="menu">
  103. <input field="${VM-Total-New-Messages}" pattern="^(0)$">
  104. <nomatch>
  105. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Play-New-Messages}:voicemail/vm-listen_new.wav"/>
  106. </nomatch>
  107. </input>
  108. <input field="${VM-Total-Saved-Messages}" pattern="^(0)$">
  109. <nomatch>
  110. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Play-Saved-Messages}:voicemail/vm-listen_saved.wav"/>
  111. </nomatch>
  112. </input>
  113. <input>
  114. <match>
  115. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Config-Menu}:voicemail/vm-advanced.wav"/>
  116. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Terminator}:voicemail/vm-to_exit.wav"/>
  117. </match>
  118. </input>
  119. </macro>
  120. <macro name="config_menu">
  121. <input>
  122. <match>
  123. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-Greeting}:voicemail/vm-to_record_greeting.wav"/>
  124. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Choose-Greeting}:voicemail/vm-choose_greeting.wav"/>
  125. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-Name}:voicemail/vm-record_name2.wav"/>
  126. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Change-Password}:voicemail/vm-change_password.wav"/>
  127. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Menu}:voicemail/vm-main_menu.wav"/>
  128. </match>
  129. </input>
  130. </macro>
  131. <macro name="record_name">
  132. <input>
  133. <match>
  134. <action function="play-file" data="voicemail/vm-record_name1.wav"/>
  135. </match>
  136. </input>
  137. </macro>
  138. <macro name="forward_ask_prepend">
  139. <input>
  140. <match>
  141. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Prepend}:voicemail/vm-forward_add_intro.wav"/>
  142. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Forward}:voicemail/vm-send_message_now.wav"/>
  143. </match>
  144. </input>
  145. </macro>
  146. <macro name="forward_ask_extension">
  147. <input>
  148. <match>
  149. <action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
  150. <!--<action function="phrase" phrase="play-file" data="voicemail/vm-followed_by.wav"/>-->
  151. <!--<action function="say" data="${VM-Key-Terminate}" method="pronounced" type="name_spelled"/>-->
  152. </match>
  153. </input>
  154. </macro>
  155. <macro name="record_file_check">
  156. <input>
  157. <match>
  158. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Listen-File}:voicemail/vm-listen_to_recording.wav"/>
  159. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Save-File}:voicemail/vm-save_recording.wav"/>
  160. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Record-File}:voicemail/vm-rerecord.wav"/>
  161. </match>
  162. </input>
  163. </macro>
  164. <macro name="record_urgent_check">
  165. <input>
  166. <match>
  167. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Urgent}:voicemail/vm-mark-urgent.wav"/>
  168. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Terminator}:voicemail/vm-continue.wav"/>
  169. </match>
  170. </input>
  171. </macro>
  172. <macro name="forward_prepend">
  173. <input>
  174. <match>
  175. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Prepend}:voicemail/vm-forward_add_intro.wav"/>
  176. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Forward}:voicemail/vm-send_message_now.wav"/>
  177. </match>
  178. </input>
  179. </macro>
  180. <macro name="forward_message_enter_extension">
  181. <input pattern="^([0-9#*])$">
  182. <match>
  183. <action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
  184. <action function="play-file" data="voicemail/vm-followed_by.wav"/>
  185. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  186. </match>
  187. </input>
  188. </macro>
  189. <macro name="invalid_extension">
  190. <input>
  191. <match>
  192. <action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
  193. </match>
  194. </input>
  195. </macro>
  196. <macro name="listen_file_check">
  197. <input>
  198. <match>
  199. <!--<action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Next-Msg}:voicemail/vm-for_next_msg.wav"/>--> <!-- Not existant in callie recordings -->
  200. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Listen-File}:voicemail/vm-listen_to_recording.wav"/>
  201. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Save-File}:voicemail/vm-save_recording.wav"/>
  202. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Delete-File}:voicemail/vm-delete_recording.wav"/>
  203. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Forward}:voicemail/vm-to_forward.wav"/>
  204. </match>
  205. </input>
  206. <input field="${VM-Message-Email}" pattern="^$">
  207. <nomatch>
  208. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Email}:voicemail/vm-forward_to_email.wav"/>
  209. </nomatch>
  210. </input>
  211. <input>
  212. <match>
  213. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Callback}:voicemail/vm-return_call.wav"/>
  214. <action function="phrase" phrase="press_key@voicemail_ivr" data="${VM-Key-Main-Forward}:voicemail/vm-to_forward.wav"/>
  215. </match>
  216. </input>
  217. </macro>
  218. <macro name="choose_greeting">
  219. <input>
  220. <match>
  221. <action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
  222. </match>
  223. </input>
  224. </macro>
  225. <macro name="choose_greeting_fail">
  226. <input>
  227. <match>
  228. <action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
  229. </match>
  230. </input>
  231. </macro>
  232. <macro name="record_greeting">
  233. <input>
  234. <match>
  235. <action function="play-file" data="voicemail/vm-record_greeting.wav"/>
  236. </match>
  237. </input>
  238. </macro>
  239. <macro name="record_message">
  240. <input>
  241. <match>
  242. <action function="play-file" data="voicemail/vm-record_message.wav"/>
  243. </match>
  244. </input>
  245. </macro>
  246. <macro name="greeting_selected">
  247. <input pattern="^(\d+)$">
  248. <match>
  249. <action function="play-file" data="${VM-Preference-Greeting-File-Path}"/>
  250. <action function="play-file" data="voicemail/vm-greeting.wav"/>
  251. <action function="say" data="$1" method="pronounced" type="items"/>
  252. <action function="play-file" data="voicemail/vm-selected.wav"/>
  253. </match>
  254. </input>
  255. </macro>
  256. <macro name="play_greeting">
  257. <input pattern="^(.*)$">
  258. <match>
  259. <action function="play-file" data="voicemail/vm-person.wav"/>
  260. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  261. <action function="play-file" data="voicemail/vm-not_available.wav"/>
  262. </match>
  263. </input>
  264. </macro>
  265. <macro name="say_number">
  266. <input pattern="^(\d+)$">
  267. <match>
  268. <action function="say" data="$1" method="pronounced" type="items"/>
  269. </match>
  270. </input>
  271. </macro>
  272. <macro name="say_message_number">
  273. <input>
  274. <match>
  275. <action function="play-file" data="voicemail/vm-${VM-Message-Type}.wav"/>
  276. <action function="play-file" data="voicemail/vm-message_number.wav"/>
  277. <action function="say" data="${VM-Message-Number}" method="pronounced" type="items"/>
  278. </match>
  279. </input>
  280. </macro>
  281. <macro name="say_phone_number">
  282. <input pattern="^(.*)$">
  283. <match>
  284. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  285. </match>
  286. </input>
  287. </macro>
  288. <macro name="say_name">
  289. <input pattern="^(.*)$">
  290. <match>
  291. <action function="say" data="$1" method="pronounced" type="name_spelled"/>
  292. </match>
  293. </input>
  294. </macro>
  295. <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
  296. <macro name="ack">
  297. <input pattern="^(too-small)$">
  298. <match>
  299. <action function="play-file" data="voicemail/vm-too-small.wav"/>
  300. </match>
  301. </input>
  302. <input pattern="^(undeleted)$">
  303. <match>
  304. <action function="play-file" data="voicemail/vm-message.wav"/>
  305. <action function="play-file" data="voicemail/vm-$1.wav"/>
  306. </match>
  307. </input>
  308. <input pattern="^(deleted)$">
  309. <match>
  310. <action function="play-file" data="voicemail/vm-message.wav"/>
  311. <action function="play-file" data="voicemail/vm-$1.wav"/>
  312. </match>
  313. </input>
  314. <input pattern="^(saved)$">
  315. <match>
  316. <action function="play-file" data="voicemail/vm-message.wav"/>
  317. <action function="play-file" data="voicemail/vm-$1.wav"/>
  318. </match>
  319. </input>
  320. <input pattern="^(emailed)$">
  321. <match>
  322. <action function="play-file" data="voicemail/vm-message.wav"/>
  323. <action function="play-file" data="voicemail/vm-$1.wav"/>
  324. </match>
  325. </input>
  326. <input pattern="^(marked-urgent)$">
  327. <match>
  328. <action function="play-file" data="voicemail/vm-message.wav"/>
  329. <action function="play-file" data="voicemail/vm-$1.wav"/>
  330. </match>
  331. </input>
  332. </macro>
  333. <macro name="say_date">
  334. <input pattern="^(.*)$">
  335. <match>
  336. <action function="say" data="$1" method="pronounced" type="short_date_time"/>
  337. </match>
  338. </input>
  339. </macro>
  340. <macro name="say_date_event">
  341. <input>
  342. <match>
  343. <action function="say" data="${VM-Message-Received-Epoch}" method="pronounced" type="short_date_time"/>
  344. </match>
  345. </input>
  346. </macro>
  347. <macro name="play_message">
  348. <input>
  349. <match>
  350. <action function="play-file" data="${VM-Message-File-Path}"/>
  351. </match>
  352. </input>
  353. </macro>
  354. <macro name="play_recording">
  355. <input>
  356. <match>
  357. <action function="play-file" data="${VM-Record-File-Path}"/>
  358. </match>
  359. </input>
  360. </macro>
  361. <macro name="disk_quota_exceeded">
  362. <input>
  363. <match>
  364. <action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
  365. </match>
  366. </input>
  367. </macro>
  368. </macros>
  369. </include>
  370. <!--
  371. For Emacs:
  372. Local Variables:
  373. mode:xml
  374. indent-tabs-mode:nil
  375. tab-width:2
  376. c-basic-offset:2
  377. End:
  378. For VIM:
  379. vim:set softtabstop=2 shiftwidth=2 tabstop=2 expandtab:
  380. -->