Extend manager originate functionality
authorMark Spencer <markster@digium.com>
Thu, 26 Jun 2003 20:32:52 +0000 (20:32 +0000)
committerMark Spencer <markster@digium.com>
Thu, 26 Jun 2003 20:32:52 +0000 (20:32 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1125 65c4cc65-6c06-0410-ace0-fbb531ad65f3

manager.c

index 19cc345..f7761d6 100755 (executable)
--- a/manager.c
+++ b/manager.c
@@ -405,6 +405,8 @@ static int action_originate(struct mansession *s, struct message *m)
        char *priority = astman_get_header(m, "Priority");
        char *timeout = astman_get_header(m, "Timeout");
        char *callerid = astman_get_header(m, "CallerID");
+       char *app = astman_get_header(m, "Application");
+       char *appdata = astman_get_header(m, "Data");
        char *tech, *data;
        int pi = 0;
        int res;
@@ -432,7 +434,11 @@ static int action_originate(struct mansession *s, struct message *m)
        }
        *data = '\0';
        data++;
-       res = ast_pbx_outgoing_exten(tech, AST_FORMAT_SLINEAR, data, to, context, exten, pi, &reason, 0, strlen(callerid) ? callerid : NULL, NULL );
+       if (strlen(app)) {
+           res = ast_pbx_outgoing_app(tech, AST_FORMAT_SLINEAR, data, to, app, appdata, &reason, 0, strlen(callerid) ? callerid : NULL );
+               } else {
+          res = ast_pbx_outgoing_exten(tech, AST_FORMAT_SLINEAR, data, to, context, exten, pi, &reason, 0, strlen(callerid) ? callerid : NULL, NULL );
+       }   
        if (!res)
                astman_send_ack(s, "Originate successfully queued");
        else