i think if have it figured out by looking at the dialplan generated… working as designed, but definitely a behavior that VDP users need to be aware of.
if you create a dialplan like my 2nd diagram with 5 steps, 3 of which are shared… VDP generates all 5 steps hardcoded to the FIRST extension, then for the 2nd, 3rd, 4th paths through, vdp generates a ‘goto(context,FIRSTextension,1) so that the shared steps are executed…
but this has the unintended/counter-intuitive (imho) effect of CHANGING ${EXTEN} to the first extension from the point that you start using the shared code…
so my workaround is to save ${EXTEN} to another channel variable and then use my saved variable as required to route the call through contexts instead of relying on ${EXTEN} to stay put.
perhaps this is obvious to others, but it wasn’t to me, so i post here hoping it will be useful to someone else.