Wed Apr 6 11:29:50 2011

Asterisk developer's documentation


app_playtones.c File Reference

Playtones application. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/pbx.h"
#include "asterisk/channel.h"
#include "asterisk/indications.h"

Go to the source code of this file.

Functions

static void __reg_module (void)
static void __unreg_module (void)
static int handle_playtones (struct ast_channel *chan, const char *data)
static int handle_stopplaytones (struct ast_channel *chan, const char *data)
static int load_module (void)
static int unload_module (void)

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Playtones Application" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "8586c2a7d357cb591cc3a6607a8f62d1" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, }
static struct ast_module_infoast_module_info = &__mod_info
static const char playtones_app [] = "PlayTones"
static const char stopplaytones_app [] = "StopPlayTones"


Detailed Description

Playtones application.

Author:
Russell Bryant <russell@digium.com>

Definition in file app_playtones.c.


Function Documentation

static void __reg_module ( void   )  [static]

Definition at line 129 of file app_playtones.c.

static void __unreg_module ( void   )  [static]

Definition at line 129 of file app_playtones.c.

static int handle_playtones ( struct ast_channel chan,
const char *  data 
) [static]

Definition at line 75 of file app_playtones.c.

References ast_get_indication_tone(), ast_log(), ast_playtones_start(), ast_strlen_zero(), ast_tone_zone_sound_unref(), ast_tone_zone_sound::data, LOG_NOTICE, str, and ast_channel::zone.

Referenced by load_module().

00076 {
00077    struct ast_tone_zone_sound *ts;
00078    int res;
00079    const char *str = data;
00080 
00081    if (ast_strlen_zero(str)) {
00082       ast_log(LOG_NOTICE,"Nothing to play\n");
00083       return -1;
00084    }
00085 
00086    ts = ast_get_indication_tone(chan->zone, str);
00087 
00088    if (ts) {
00089       res = ast_playtones_start(chan, 0, ts->data, 0);
00090       ts = ast_tone_zone_sound_unref(ts);
00091    } else {
00092       res = ast_playtones_start(chan, 0, str, 0);
00093    }
00094 
00095    if (res) {
00096       ast_log(LOG_NOTICE, "Unable to start playtones\n");
00097    }
00098 
00099    return res;
00100 }

static int handle_stopplaytones ( struct ast_channel chan,
const char *  data 
) [static]

Definition at line 102 of file app_playtones.c.

References ast_playtones_stop().

Referenced by load_module().

00103 {
00104    ast_playtones_stop(chan);
00105 
00106    return 0;
00107 }

static int load_module ( void   )  [static]

Definition at line 119 of file app_playtones.c.

References AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, ast_register_application_xml, handle_playtones(), and handle_stopplaytones().

static int unload_module ( void   )  [static]

Definition at line 109 of file app_playtones.c.

References ast_unregister_application().

00110 {
00111    int res;
00112 
00113    res = ast_unregister_application(playtones_app);
00114    res |= ast_unregister_application(stopplaytones_app);
00115 
00116    return res;
00117 }


Variable Documentation

struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Playtones Application" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "8586c2a7d357cb591cc3a6607a8f62d1" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, } [static]

Definition at line 129 of file app_playtones.c.

struct ast_module_info* ast_module_info = &__mod_info [static]

Definition at line 129 of file app_playtones.c.

const char playtones_app[] = "PlayTones" [static]

Definition at line 37 of file app_playtones.c.

const char stopplaytones_app[] = "StopPlayTones" [static]

Definition at line 38 of file app_playtones.c.


Generated on Wed Apr 6 11:29:50 2011 for Asterisk - The Open Source Telephony Project by  doxygen 1.4.7