The assertion that peer was not found on final event
[asterisk/asterisk.git] / apps / app_flash.c
index 90329b6..dbbad33 100644 (file)
@@ -27,6 +27,7 @@
  
 /*** MODULEINFO
        <depend>dahdi</depend>
+       <support_level>core</support_level>
  ***/
 
 #include "asterisk.h"
@@ -72,36 +73,36 @@ static inline int dahdi_wait_event(int fd)
        return j;
 }
 
-static int flash_exec(struct ast_channel *chan, void *data)
+static int flash_exec(struct ast_channel *chan, const char *data)
 {
        int res = -1;
        int x;
        struct dahdi_params dahdip;
 
-       if (strcasecmp(chan->tech->type, "DAHDI")) {
-               ast_log(LOG_WARNING, "%s is not a DAHDI channel\n", chan->name);
+       if (strcasecmp(ast_channel_tech(chan)->type, "DAHDI")) {
+               ast_log(LOG_WARNING, "%s is not a DAHDI channel\n", ast_channel_name(chan));
                return -1;
        }
        
        memset(&dahdip, 0, sizeof(dahdip));
-       res = ioctl(chan->fds[0], DAHDI_GET_PARAMS, &dahdip);
+       res = ioctl(ast_channel_fd(chan, 0), DAHDI_GET_PARAMS, &dahdip);
        if (!res) {
                if (dahdip.sigtype & __DAHDI_SIG_FXS) {
                        x = DAHDI_FLASH;
-                       res = ioctl(chan->fds[0], DAHDI_HOOK, &x);
+                       res = ioctl(ast_channel_fd(chan, 0), DAHDI_HOOK, &x);
                        if (!res || (errno == EINPROGRESS)) {
                                if (res) {
                                        /* Wait for the event to finish */
-                                       dahdi_wait_event(chan->fds[0]);
+                                       dahdi_wait_event(ast_channel_fd(chan, 0));
                                }
                                res = ast_safe_sleep(chan, 1000);
-                               ast_verb(3, "Flashed channel %s\n", chan->name);
+                               ast_verb(3, "Flashed channel %s\n", ast_channel_name(chan));
                        } else
-                               ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", chan->name, strerror(errno));
+                               ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", ast_channel_name(chan), strerror(errno));
                } else
-                       ast_log(LOG_WARNING, "%s is not an FXO Channel\n", chan->name);
+                       ast_log(LOG_WARNING, "%s is not an FXO Channel\n", ast_channel_name(chan));
        } else
-               ast_log(LOG_WARNING, "Unable to get parameters of %s: %s\n", chan->name, strerror(errno));
+               ast_log(LOG_WARNING, "Unable to get parameters of %s: %s\n", ast_channel_name(chan), strerror(errno));
 
        return res;
 }