Merged revisions 239838 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Wed, 13 Jan 2010 19:48:16 +0000 (19:48 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 13 Jan 2010 19:48:16 +0000 (19:48 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r239838 | jpeeler | 2010-01-13 13:43:33 -0600 (Wed, 13 Jan 2010) | 11 lines

  Fix regression for timed out parked call returning to caller

  This issue seems to have been exposed by the fix in 160390 whereby using a
  masquerade prevented a crash. The new channel used in the masquerade was
  not copying the macro information from the old channel.

  (closes issue #15459)
  Reported by: djrodman
  Patches:
        patch_15459.txt uploaded by mnick (license )
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239839 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index 3f20080..8ba1955 100644 (file)
@@ -983,6 +983,11 @@ static int masq_park_call(struct ast_channel *rchan, struct ast_channel *peer, i
        /* Setup the extensions and such */
        set_c_e_p(chan, rchan->context, rchan->exten, rchan->priority);
 
+       /* Setup the macro extension and such */
+       ast_copy_string(chan->macrocontext,rchan->macrocontext,sizeof(chan->macrocontext));
+       ast_copy_string(chan->macroexten,rchan->macroexten,sizeof(chan->macroexten));
+       chan->macropriority = rchan->macropriority;
+
        /* Make the masq execute */
        if ((f = ast_read(chan)))
                ast_frfree(f);