Asterisk.org: Developer Documentation (28 Oct 2009)

Wed Oct 28 15:47:54 2009

## Asterisk developer's documentation

# monitor.h

Go to the documentation of this file.

    00001 /*
    00002  * Asterisk -- An open source telephony toolkit.
    00003  *
    00004  * Copyright (C) 1999 - 2005, Digium, Inc.
    00005  *
    00006  * Mark Spencer <markster@digium.com>
    00007  *
    00008  * See http://www.asterisk.org for more information about
    00009  * the Asterisk project. Please do not directly contact
    00010  * any of the maintainers of this project for assistance;
    00011  * the project provides a web site, mailing lists and IRC
    00012  * channels for your use.
    00013  *
    00014  * This program is free software, distributed under the terms of
    00015  * the GNU General Public License Version 2. See the LICENSE file
    00016  * at the top of the source tree.
    00017  */
    00018
    00019 /*! \file
    00020  * \brief Channel monitoring
    00021  */
    00022
    00023 #ifndef _ASTERISK_MONITOR_H
    00024 #define _ASTERISK_MONITOR_H
    00025
    00026 #include "asterisk/channel.h"
    00027
    00028 struct ast_channel;
    00029
    00030 /*! Responsible for channel monitoring data */
    00031 struct ast_channel_monitor {
    00032    struct ast_filestream *read_stream;
    00033    struct ast_filestream *write_stream;
    00034    char read_filename[FILENAME_MAX];
    00035    char write_filename[FILENAME_MAX];
    00036    char filename_base[FILENAME_MAX];
    00037    int filename_changed;
    00038    char *format;
    00039    int joinfiles;
    00040    int (*stop)(struct ast_channel *chan, int need_lock);
    00041 };
    00042
    00043 /* Start monitoring a channel */
    00044 int ast_monitor_start(struct ast_channel *chan, const char *format_spec,
    00045             const char *fname_base, int need_lock );
    00046
    00047 /* Stop monitoring a channel */
    00048 int ast_monitor_stop(struct ast_channel *chan, int need_lock);
    00049
    00050 /* Change monitoring filename of a channel */
    00051 int ast_monitor_change_fname(struct ast_channel *chan,
    00052               const char *fname_base, int need_lock);
    00053
    00054 void ast_monitor_setjoinfiles(struct ast_channel *chan, int turnon);
    00055
    00056 #endif /* _ASTERISK_MONITOR_H */