]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
dial.c: Removed dial string 80 character limitation
authorsungtae kim <sungtae@messagebird.com>
Thu, 26 Mar 2020 22:18:17 +0000 (22:18 +0000)
committerJoshua Colp <jcolp@sangoma.com>
Tue, 31 Mar 2020 17:07:00 +0000 (12:07 -0500)
The dial application had 80 characters of destination length
limitation. But this limitation causes unexpected dial string
cut if the dial string is long.

Removed unnecessary limited buffer to support longer dial
destination.

ASTERISK-27946

Change-Id: I72c8f0319a4b47e8180817a66a7e9bde063cb330

main/dial.c

index ffa4405461cf51a75ef5fcf941cbb47b4f94c7bf..95a2499a664740fa4a767fe5f15b8984bce286ab 100644 (file)
@@ -292,7 +292,6 @@ int ast_dial_append(struct ast_dial *dial, const char *tech, const char *device,
 /*! \brief Helper function that requests all channels */
 static int begin_dial_prerun(struct ast_dial_channel *channel, struct ast_channel *chan, struct ast_format_cap *cap, const char *predial_string)
 {
-       char numsubst[AST_MAX_EXTENSION];
        struct ast_format_cap *cap_all_audio = NULL;
        struct ast_format_cap *cap_request;
        struct ast_format_cap *requester_cap = NULL;
@@ -315,9 +314,6 @@ static int begin_dial_prerun(struct ast_dial_channel *channel, struct ast_channe
                }
        }
 
-       /* Copy device string over */
-       ast_copy_string(numsubst, channel->device, sizeof(numsubst));
-
        if (cap && ast_format_cap_count(cap)) {
                cap_request = cap;
        } else if (requester_cap) {
@@ -329,7 +325,7 @@ static int begin_dial_prerun(struct ast_dial_channel *channel, struct ast_channe
        }
 
        /* If we fail to create our owner channel bail out */
-       if (!(channel->owner = ast_request(channel->tech, cap_request, &assignedids, chan, numsubst, &channel->cause))) {
+       if (!(channel->owner = ast_request(channel->tech, cap_request, &assignedids, chan, channel->device, &channel->cause))) {
                ao2_cleanup(cap_all_audio);
                return -1;
        }
@@ -413,7 +409,6 @@ int ast_dial_prerun(struct ast_dial *dial, struct ast_channel *chan, struct ast_
 /*! \brief Helper function that does the beginning dialing per-appended channel */
 static int begin_dial_channel(struct ast_dial_channel *channel, struct ast_channel *chan, int async, const char *predial_string, struct ast_channel *forwarder_chan)
 {
-       char numsubst[AST_MAX_EXTENSION];
        int res = 1;
        char forwarder[AST_CHANNEL_NAME];
 
@@ -429,11 +424,8 @@ static int begin_dial_channel(struct ast_dial_channel *channel, struct ast_chann
                ast_channel_unlock(channel->owner);
        }
 
-       /* Copy device string over */
-       ast_copy_string(numsubst, channel->device, sizeof(numsubst));
-
        /* Attempt to actually call this device */
-       if ((res = ast_call(channel->owner, numsubst, 0))) {
+       if ((res = ast_call(channel->owner, channel->device, 0))) {
                res = 0;
                ast_hangup(channel->owner);
                channel->owner = NULL;
@@ -443,7 +435,7 @@ static int begin_dial_channel(struct ast_dial_channel *channel, struct ast_chann
                }
                ast_channel_publish_dial(async ? NULL : chan, channel->owner, channel->device, NULL);
                res = 1;
-               ast_verb(3, "Called %s\n", numsubst);
+               ast_verb(3, "Called %s\n", channel->device);
        }
 
        return res;