mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Add recording agent's calls patch. Basically the call starts recording when the agent picks up and the file is stamped with the agent's id and the timestamp. Also optionally a URL link to that file may be inserted in the userfield of the CDR record. By default the recorded file will be mixed if soxmix is available.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -33,11 +33,18 @@
|
||||
#endif
|
||||
#include "msgsm.h"
|
||||
|
||||
|
||||
/* Some Ideas for this code came from makegsme.c by Jeffrey Chilton */
|
||||
|
||||
/* Portions of the conversion code are by guido@sienanet.it */
|
||||
|
||||
/* silent gsm frame */
|
||||
/* begin binary data: */
|
||||
char gsm_silence[] = /* 33 */
|
||||
{0xD8,0x20,0xA2,0xE1,0x5A,0x50,0x00,0x49,0x24,0x92,0x49,0x24,0x50,0x00,0x49
|
||||
,0x24,0x92,0x49,0x24,0x50,0x00,0x49,0x24,0x92,0x49,0x24,0x50,0x00,0x49,0x24
|
||||
,0x92,0x49,0x24};
|
||||
/* end binary data. size = 33 bytes */
|
||||
|
||||
struct ast_filestream {
|
||||
void *reserved[AST_RESERVED_POINTERS];
|
||||
/* Believe it or not, we must decode/recode to account for the
|
||||
@@ -193,6 +200,12 @@ static int gsm_seek(struct ast_filestream *fs, long sample_offset, int whence)
|
||||
if (whence != SEEK_FORCECUR) {
|
||||
offset = (offset > max)?max:offset;
|
||||
offset = (offset < min)?min:offset;
|
||||
} else if (offset > max) {
|
||||
int i;
|
||||
lseek(fs->fd, 0, SEEK_END);
|
||||
for (i=0; i< (offset - max) / 33; i++) {
|
||||
write(fs->fd, gsm_silence, 33);
|
||||
}
|
||||
}
|
||||
return lseek(fs->fd, offset, SEEK_SET);
|
||||
}
|
||||
|
Reference in New Issue
Block a user