From 358238b170fb09d4b13e0e2f865ce5172b04c5f7 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Wed, 4 May 2005 19:33:33 +0000 Subject: [PATCH] add app_dictate (bug #3893) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5579 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- Makefile | 11 +- apps/Makefile | 3 +- apps/app_dictate.c | 335 ++++++++++++++++++++++++++++ sounds.txt | 28 +++ sounds/dictate/both_help.gsm | Bin 0 -> 8415 bytes sounds/dictate/enter_filename.gsm | Bin 0 -> 9339 bytes sounds/dictate/forhelp.gsm | Bin 0 -> 2475 bytes sounds/dictate/pause.gsm | Bin 0 -> 1122 bytes sounds/dictate/paused.gsm | Bin 0 -> 1287 bytes sounds/dictate/play_help.gsm | Bin 0 -> 14388 bytes sounds/dictate/playback.gsm | Bin 0 -> 1386 bytes sounds/dictate/playback_mode.gsm | Bin 0 -> 1848 bytes sounds/dictate/record.gsm | Bin 0 -> 1386 bytes sounds/dictate/record_help.gsm | Bin 0 -> 8646 bytes sounds/dictate/record_mode.gsm | Bin 0 -> 1650 bytes sounds/dictate/truncating_audio.gsm | Bin 0 -> 2508 bytes 16 files changed, 375 insertions(+), 2 deletions(-) create mode 100755 apps/app_dictate.c create mode 100755 sounds/dictate/both_help.gsm create mode 100755 sounds/dictate/enter_filename.gsm create mode 100755 sounds/dictate/forhelp.gsm create mode 100755 sounds/dictate/pause.gsm create mode 100755 sounds/dictate/paused.gsm create mode 100755 sounds/dictate/play_help.gsm create mode 100755 sounds/dictate/playback.gsm create mode 100755 sounds/dictate/playback_mode.gsm create mode 100755 sounds/dictate/record.gsm create mode 100755 sounds/dictate/record_help.gsm create mode 100755 sounds/dictate/record_mode.gsm create mode 100755 sounds/dictate/truncating_audio.gsm diff --git a/Makefile b/Makefile index 56a50679cf..2d305596b2 100755 --- a/Makefile +++ b/Makefile @@ -15,7 +15,6 @@ # Create OPTIONS variable OPTIONS= - # If cross compiling, define these to suit # CROSS_COMPILE=/opt/montavista/pro/devkit/arm/xscale_be/bin/xscale_be- # CROSS_COMPILE_BIN=/opt/montavista/pro/devkit/arm/xscale_be/bin/ @@ -411,6 +410,15 @@ datafiles: all exit 1; \ fi; \ done + mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/dictate + for x in sounds/dictate/*.gsm; do \ + if $(GREP) -q "^%`basename $$x`%" sounds.txt; then \ + install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds/dictate ; \ + else \ + echo "No description for $$x"; \ + exit 1; \ + fi; \ + done mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/letters for x in sounds/letters/*.gsm; do \ if $(GREP) -q "^%`basename $$x`%" sounds.txt; then \ @@ -490,6 +498,7 @@ bininstall: all mkdir -p $(DESTDIR)$(ASTSBINDIR) mkdir -p $(DESTDIR)$(ASTVARRUNDIR) mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail + mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/dictate mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/system mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/tmp mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/meetme diff --git a/apps/Makefile b/apps/Makefile index 5d86910884..e1eb61fb9d 100755 --- a/apps/Makefile +++ b/apps/Makefile @@ -31,7 +31,8 @@ APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\ app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \ app_test.so app_forkcdr.so app_math.so app_realtime.so \ app_dumpchan.so app_waitforsilence.so app_while.so app_setrdnis.so \ - app_md5.so app_readfile.so app_chanspy.so app_settransfercapability.so + app_md5.so app_readfile.so app_chanspy.so app_settransfercapability.so \ + app_dictate.so ifneq (${OSARCH},Darwin) ifneq (${OSARCH},SunOS) diff --git a/apps/app_dictate.c b/apps/app_dictate.c new file mode 100755 index 0000000000..b88fbf2c3a --- /dev/null +++ b/apps/app_dictate.c @@ -0,0 +1,335 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * Virtual Dictation Machine Application For Asterisk + * + * Copyright (C) 2005, Anthony Minessale II + * + * Anthony Minessale II + * + * Donated by Sangoma Technologies + * + * This program is free software, distributed under the terms of + * the GNU General Public License + */ + +#include +#include +#include + +#include "asterisk/file.h" +#include "asterisk/logger.h" +#include "asterisk/channel.h" +#include "asterisk/pbx.h" +#include "asterisk/module.h" +#include "asterisk/say.h" +#include "asterisk/lock.h" +#include "asterisk/app.h" +#include "astconf.h" + +static char *tdesc = "Virtual Dictation Machine"; +static char *app = "Dictate"; +static char *synopsis = "Virtual Dictation Machine"; +static char *desc = " Dictate([])\n" +"Start dictation machine using optional base dir for files.\n"; + + +STANDARD_LOCAL_USER; +LOCAL_USER_DECL; + +typedef enum { + DFLAG_RECORD = (1 << 0), + DFLAG_PLAY = (1 << 1), + DFLAG_TRUNC = (1 << 2), + DFLAG_PAUSE = (1 << 3), +} dflags; + +typedef enum { + DMODE_INIT, + DMODE_RECORD, + DMODE_PLAY +} dmodes; + +#define ast_toggle_flag(it,flag) if(ast_test_flag(it, flag)) ast_clear_flag(it, flag); else ast_set_flag(it, flag) + +static int play_and_wait(struct ast_channel *chan, char *file, char *digits) +{ + int res = -1; + if (!ast_streamfile(chan, file, chan->language)) { + res = ast_waitstream(chan, digits); + } + return res; +} + +static int dictate_exec(struct ast_channel *chan, void *data) +{ + char *mydata, *argv[2], *path = NULL, filein[256]; + char dftbase[256]; + char *base; + struct ast_flags flags = {0}; + struct ast_filestream *fs; + struct ast_frame *f = NULL; + struct localuser *u; + int ffactor = 320 * 80, + res = 0, + argc = 0, + done = 0, + oldr = 0, + lastop = 0, + samples = 0, + speed = 1, + digit = 0, + len = 0, + maxlen = 0, + mode = 0; + + + snprintf(dftbase, sizeof(dftbase), "%s/dictate", ast_config_AST_SPOOL_DIR); + if (data && !ast_strlen_zero(data) && (mydata = ast_strdupa(data))) { + argc = ast_separate_app_args(mydata, '|', argv, sizeof(argv) / sizeof(argv[0])); + } + + if (argc) { + base = argv[0]; + } else { + base = dftbase; + } + + oldr = chan->readformat; + if ((res = ast_set_read_format(chan, AST_FORMAT_SLINEAR)) < 0) { + ast_log(LOG_WARNING, "Unable to set to linear mode.\n"); + return -1; + } + + LOCAL_USER_ADD(u); + ast_answer(chan); + ast_safe_sleep(chan, 200); + for(res = 0; !res;) { + if (ast_app_getdata(chan, "dictate/enter_filename", filein, sizeof(filein), 0) || + ast_strlen_zero(filein)) { + res = -1; + break; + } + + mkdir(base, 0755); + len = strlen(base) + strlen(filein) + 2; + if (!path || len > maxlen) { + path = alloca(len); + memset(path, 0, len); + maxlen = len; + } else { + memset(path, 0, maxlen); + } + + snprintf(path, len, "%s/%s", base, filein); + fs = ast_writefile(path, "raw", NULL, O_CREAT|O_APPEND, 0, 0700); + mode = DMODE_PLAY; + memset(&flags, 0, sizeof(flags)); + ast_set_flag(&flags, DFLAG_PAUSE); + digit = play_and_wait(chan, "dictate/forhelp", AST_DIGIT_ANY); + done = 0; + speed = 1; + res = 0; + lastop = 0; + samples = 0; + while (!done && ((res = ast_waitfor(chan, -1)) > -1) && fs && (f = ast_read(chan))) { + if (digit) { + struct ast_frame fr = {AST_FRAME_DTMF, digit}; + ast_queue_frame(chan, &fr); + digit = 0; + } + if ((f->frametype == AST_FRAME_DTMF)) { + int got = 1; + switch(mode) { + case DMODE_PLAY: + switch(f->subclass) { + case '1': + ast_set_flag(&flags, DFLAG_PAUSE); + mode = DMODE_RECORD; + break; + case '2': + speed++; + if (speed > 4) { + speed = 1; + } + res = ast_say_number(chan, speed, AST_DIGIT_ANY, chan->language, (char *) NULL); + break; + case '7': + samples -= ffactor; + if(samples < 0) { + samples = 0; + } + ast_seekstream(fs, samples, SEEK_SET); + break; + case '8': + samples += ffactor; + ast_seekstream(fs, samples, SEEK_SET); + break; + + default: + got = 0; + } + break; + case DMODE_RECORD: + switch(f->subclass) { + case '1': + ast_set_flag(&flags, DFLAG_PAUSE); + mode = DMODE_PLAY; + break; + case '8': + ast_toggle_flag(&flags, DFLAG_TRUNC); + lastop = 0; + break; + default: + got = 0; + } + break; + default: + got = 0; + } + if (!got) { + switch(f->subclass) { + case '#': + done = 1; + continue; + break; + case '*': + ast_toggle_flag(&flags, DFLAG_PAUSE); + if (ast_test_flag(&flags, DFLAG_PAUSE)) { + digit = play_and_wait(chan, "dictate/pause", AST_DIGIT_ANY); + } else { + digit = play_and_wait(chan, mode == DMODE_PLAY ? "dictate/playback" : "dictate/record", AST_DIGIT_ANY); + } + break; + case '0': + ast_set_flag(&flags, DFLAG_PAUSE); + digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY); + switch(mode) { + case DMODE_PLAY: + digit = play_and_wait(chan, "dictate/play_help", AST_DIGIT_ANY); + break; + case DMODE_RECORD: + digit = play_and_wait(chan, "dictate/record_help", AST_DIGIT_ANY); + break; + } + if (digit == 0) { + digit = play_and_wait(chan, "dictate/both_help", AST_DIGIT_ANY); + } else if (digit < 0) { + done = 1; + break; + } + break; + } + } + + } else if (f->frametype == AST_FRAME_VOICE) { + switch(mode) { + struct ast_frame *fr; + int x; + case DMODE_PLAY: + if (lastop != DMODE_PLAY) { + if (ast_test_flag(&flags, DFLAG_PAUSE)) { + digit = play_and_wait(chan, "dictate/playback_mode", AST_DIGIT_ANY); + if (digit == 0) { + digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY); + } else if (digit < 0) { + break; + } + } + if (lastop != DFLAG_PLAY) { + lastop = DFLAG_PLAY; + ast_closestream(fs); + fs = ast_openstream(chan, path, chan->language); + ast_seekstream(fs, samples, SEEK_SET); + chan->stream = NULL; + } + lastop = DMODE_PLAY; + } + + if (!ast_test_flag(&flags, DFLAG_PAUSE)) { + for (x = 0; x < speed; x++) { + if ((fr = ast_readframe(fs))) { + ast_write(chan, fr); + samples += fr->samples; + ast_frfree(fr); + fr = NULL; + } else { + samples = 0; + ast_seekstream(fs, 0, SEEK_SET); + } + } + } + break; + case DMODE_RECORD: + if (lastop != DMODE_RECORD) { + int oflags = O_CREAT | O_WRONLY; + if (ast_test_flag(&flags, DFLAG_PAUSE)) { + digit = play_and_wait(chan, "dictate/record_mode", AST_DIGIT_ANY); + if (digit == 0) { + digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY); + } else if (digit < 0) { + break; + } + } + lastop = DMODE_RECORD; + ast_closestream(fs); + if ( ast_test_flag(&flags, DFLAG_TRUNC)) { + oflags |= O_TRUNC; + digit = play_and_wait(chan, "dictate/truncating_audio", AST_DIGIT_ANY); + } else { + oflags |= O_APPEND; + } + fs = ast_writefile(path, "raw", NULL, oflags, 0, 0700); + if (ast_test_flag(&flags, DFLAG_TRUNC)) { + ast_seekstream(fs, 0, SEEK_SET); + ast_clear_flag(&flags, DFLAG_TRUNC); + } else { + ast_seekstream(fs, 0, SEEK_END); + } + } + if (!ast_test_flag(&flags, DFLAG_PAUSE)) { + res = ast_writestream(fs, f); + } + break; + } + + } + + ast_frfree(f); + } + } + if (oldr) { + ast_set_read_format(chan, oldr); + } + LOCAL_USER_REMOVE(u); + return res; +} + +int unload_module(void) +{ + STANDARD_HANGUP_LOCALUSERS; + return ast_unregister_application(app); +} + +int load_module(void) +{ + return ast_register_application(app, dictate_exec, synopsis, desc); +} + +char *description(void) +{ + return tdesc; +} + +int usecount(void) +{ + int res; + STANDARD_USECOUNT(res); + return res; +} + +char *key() +{ + return ASTERISK_GPL_KEY; +} + diff --git a/sounds.txt b/sounds.txt index dd8946b67a..4250ce5eee 100755 --- a/sounds.txt +++ b/sounds.txt @@ -268,6 +268,34 @@ %tt-weasels.gsm%Weasels have eaten our phone system +;dictate directory - app_dictate + +%both_help.gsm%press * to toggle pause, press # to enter a new dictation filename + +%enter_filename.gsm%Enter a numeric dictation filename followed by # or just # to exit + +%forhelp.gsm%press 0 for help + +%inithelp.gsm%1 to switch to playback mode + +%pause.gsm%pause + +%paused.gsm%paused + +%play_help.gsm%press 1 to switch to record mode, press 2 to toggle fast playback, press 7 to jump backwards, press 8 to jump forwards + +%playback.gsm%playback + +%playback_mode.gsm%playback mode + +%record.gsm%record + +%record_help.gsm%press 1 to switch to playback mode, press 8 to truncate the file and start over + +%record_mode.gsm%record mode + +%truncating_audio.gsm%truncating audio + ;digits directory - File Name Sound File Script %minus.gsm%minus diff --git a/sounds/dictate/both_help.gsm b/sounds/dictate/both_help.gsm new file mode 100755 index 0000000000000000000000000000000000000000..6416c5855b590fe551d3374ad96bf7362fbce8f1 GIT binary patch literal 8415 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 A3;+NC literal 0 HcmV?d00001 diff --git a/sounds/dictate/enter_filename.gsm b/sounds/dictate/enter_filename.gsm new file mode 100755 index 0000000000000000000000000000000000000000..9de823758a127d03993a9a52aecf10066e20f63e GIT binary patch literal 9339 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 literal 0 HcmV?d00001 diff --git a/sounds/dictate/pause.gsm b/sounds/dictate/pause.gsm new file mode 100755 index 0000000000000000000000000000000000000000..55fb96f85f6815ef1d71d096200acc6f49d4b783 GIT binary patch literal 1122 zcmV-o1fBcV8-ZBbPyjaLl1U^|z)2&K*yE_6Hr#GE9Ed`TQ>Z{V)N*Mo zR=`N3ZZ{l^fHvfExf9U9Hrkcg-PGT6B~xesIU{YkB+fub9BsEF)WAn8j|S6V0Ba>} zw&8W#FZMN@P$aD;( zu-Ks|R#QCJjkN1p?T#fx*rB~9R936hv|3A-hf7UgP_Y!@O<5ZWscy^dH~=9x?$_bl zoykzmH3O#4Ta@lN+gm)}n+}H?lT_lJ4j9_=Ceqbt>Y+=IO{g?^*&C3^k0b56P{?ap z>!uRA&dd1YY`%8Xv+62DitIMoT}vZ?$G8TL>fFGoha%EA&A})*<8hv%)bsggLw_Xr z;}W-Qy(G96irX81L)jgYG(5jU*(7B4<EzoIcza~fiS z1le4O^(54_(DI7E;o96wn_PjTHARv~TYcew!tz>gQ3dQiF$0q z!%8EO$m_#q)g*F8GQ~tmByA3))U??uQOV^g6MWSi$>YM`ak(ss1fqL(Ng|6Ts@#r9 z*wpga?vm9=2_up;qm@N%9r6WaSY@X%Rw3&IsRU>69O%>c%!s8=xwai(f@|~te-?Jni8MQdm)bYsf z!dpY}tZ`=BT|<-P&AQ`VBSMSvSsuGYIMOe-WYp^MUqWAGO51IYwjbi-d8 zR<=pQL$lScIULnt`-cd};VGHNDA#ENwBe0U9M2*cx=^($)P(gaipLYxW#U%=ZDqGR zakpyMMYhy#^y_OyxZG{G4}gNnVUM;+)heoH!D|AQA8WfEZ6mmviT5kk;z?+Lu-b1S ztz53P1JvcJ=0e#*IA?Xp+;Jkflxf~&ioypfsStwR!h4jGMU>RwiX#c)!nE5zsT^>@ ztgH%_yrKcuT(PMb=D|Z&p0e%LU~y9_>fyH&O{#pFpw`b_EJAxg%+8efq z*qeFKtJ=WVQ@X4n?x6~e&%B*-fT>ExmW$A!tz_LuBG*`Ak!t3^nxeMebbA3L(s9op zXF*JzQ5tMqfg4tt*Ads>S~}$A>R7yFa-j-j#>(5-s=CmU ze&CqUDaj7Z!e`u+##3^^7&BDuR>t9I^kn4;*{!@`BJ6>&A(F2we!=e1u|}J4!5Fh` z{jr?lNm@y|VA-kMnk!J^u@j9rtmz|q7f^wkFi(;Q(J;txMS{%aZK0!2Dr-q<+-x5tRT*bQYf_7?Xnjl%%H+6Zb=)CfT!fzI;2uSOl^)d(t1ER o+ij;D+2VqfnA#voEwWh~%s@vRPDbObAU4~vxa3d(NhEGbB-+eKSpWb4 literal 0 HcmV?d00001 diff --git a/sounds/dictate/paused.gsm b/sounds/dictate/paused.gsm new file mode 100755 index 0000000000000000000000000000000000000000..b48f394b1031d62853ca0f9cb47ed0dbb1b3a96e GIT binary patch literal 1287 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 Qhq_&;+WNTx&cHzaKg8uxUjP6A literal 0 HcmV?d00001 diff --git a/sounds/dictate/record_mode.gsm b/sounds/dictate/record_mode.gsm new file mode 100755 index 0000000000000000000000000000000000000000..52203a9519a103ba7a2083ecc7483e5a843ead9b GIT binary patch literal 1650 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 UjDazLq?+v#8`kg?_V?cZ0GA~F(*OVf literal 0 HcmV?d00001