Summary:ASTERISK-07226: [patch][post 1.4] addon for automon
Reporter:BicomSystems Ltd. (fkasumovic)Labels:
Date Opened:2006-06-23 10:32:23Date Closed:2011-06-07 14:03:22
Versions:Frequency of
Environment:Attachments:( 0) fixed-res_features.patch
( 1) res_features.patch
Description:I didn't know in what category to put this so I choose Genaral.

There is a following problem with features application.
There is added one cool feature called "automon".
This feature enables user to activate/deactivate call recording during the  call.

There are some problems , and need for additional options. So I will explain one by one:

1. You can't customize sound file name when call be recorded using automon feature. This could be very important for applications who want to track CDRs and recordings with it, depending of implementation.
There are already some patches who solve this problem by enabling You to set global/channel asterisk variable for custom prefix. I don't think this is enough. When automon is invoked it calls Monitor application passing it arguments who includes also the name of sound file.
Originally There is no way to pass different arguments to Monitor when it goes over automon feature except recording format and suffix for sound file name. Recording format can be specified using asterisk variable TOUCH_MONITOR_FORMAT, and suffix for sound file name using TOUCH_MONITOR variable. So recorded sound will always be named auto-datetime-suffix.format.
That's the reason I made patch who enables to pass custom arguments to Monitor application when using automon. You just set it to variable  TOUCH_MONITOR_ARGS.
If this variable is set then Monitor will be called with arguments specified in variable. That means that TOUCH_MONITOR and TOUCH_MONITOR_FORMAT will be ignored.
Other words You have to specify all needed options when setting TOUCH_MONITOR_ARGS.
With TOUCH_MONITOR_ARGS You define how Monitor will be executed.
| think that adding options like prefix, infix, and suffix leads to unneeded complications.

2. Ok. This is need for one more cool option for automon. For example what if You want that other side know when call is be recorded. Take this scenario, extension A calls extension B, in the middle of conversation extension  B activates automon, conversation is recorded.
How to announce (optional) to extension A that call is bean recorded?
There is option courtesytone, but can't satisfy this.
'curtesytone' can only announce to 'caller' party if it activated/deactivated service when pressing digits. There is other problem, how to give different sounds for start and stop, so it's clean to user when is recording started and when is stoped?

So this patch includes tree more options:
- You can set if monitor will be started silent or not, that means will You announce recording or not. If You set TOUCH_MONITR_SILENT to "FALSE" value recording will be announced, default value is "TRUE" that means silent.
- You can customize sound who will be played for announce when recording is started using TOUCH_MONITOR_START_SOUND default is "beep".
- You can customize sound who will be played for announce when recording is stopped using TOUCH_MONITOR_STOP_SOUND, default is "beep".
- This patch makes 'curtesytone' deprecated for automon feature, cause start/stop sound will be played to party who successfully activates/deactivates aoutomon, so user always knows if it done well or not. If TOUCH_MONITOR_SILENT is set to 'TRUE' then other party will hear it as well.

And that's the most people will request when you offer them this feature.

Faruk Kasumovic.
Comments:By: Serge Vecher (serge-v) 2006-06-23 11:22:21

res_features are in "Core ASterisk" ;). New features are going into /trunk, not release branch. Thanks.

By: Adam Long (worldlink) 2006-09-01 01:30:27

Would just like to say, I second everything you outline here.  I think these are great features... They fit in nicely with the existing model for backward compatibility.  Great job!

I did fix a few little bugs in your patch however, there was one typo... a call to a non existent function "play_announce"
I switched that to "play_am_announce"

And with the TOUCH_MONITOR_ARGS I added room to the len buffer allocated for the arguments as follows...

len = strlen(touch_args)+1;

Without the additional space the last character in the TOUCH_MONITOR_ARGS was getting trimmed.

Other than that its workin great with current stable release... 1.2.11

Sure hope this gets included in the next release!!!

Thanks again!


By: Serge Vecher (serge-v) 2006-09-01 09:00:02

Worldlink: can you please confirm your disclaimer status?

By: Adam Long (worldlink) 2006-09-01 15:44:44

I will fax in the disclaminer form later today!


By: jmls (jmls) 2006-10-31 12:50:48.000-0600

Worldlink, did you send in your disclaimer ?

By: jmls (jmls) 2006-11-20 14:31:24.000-0600

did you send your disclaimer in ?

By: jmls (jmls) 2007-02-11 03:27:27.000-0600

Worldlink, did you send in your disclaimer ? This is required before anything can be done with your patch

By: Dwayne Hubbard (dhubbard) 2007-03-08 12:58:42.000-0600

Worldlink: We do not have your disclaimer on file.  If you sent it, please send it again.  We cannot use your patch without a disclaimer on file.

By: Joshua C. Colp (jcolp) 2007-06-21 09:28:22

I'm suspending this for now since it's soon going to be a year without any sign of a disclaimer. We really can't look at your patch until that is in. Thanks.