On Fri, 6 Aug 2004 [EMAIL PROTECTED] wrote:
> /me daydreams about being able to fork in the dialplan. > > Actually you sort of can - wonder what something like: > > Dial(Zap/1&LOCAL/[EMAIL PROTECTED]&LOCAL/[EMAIL PROTECTED]) > > would do? Well - I tried this: ========================= exten => *22*,1,Answer exten => *22*,2,Dial(SIP/6061&LOCAL/[EMAIL PROTECTED]) exten => *22*,3,Busy [andthis] exten => s,1,Noop(in andthis) exten => s,2,Wait(10) exten => s,3,Answer exten => s,4,Wait(1) exten => s,5,Festival(Give up. He's not going to answer) exten => s,6,Wait(1) exten => s,7,Busy ========================= ...which works perfectly. But the current limitations are that once one leg answers, all the others are dropped. And until you answer, the called legs aren't bridged to the caller and so the pbx started within the LOCAL channel can't "hear" digits etc. I then tried this: ========================= exten => *22*,1,Answer exten => *22*,2,Dial(SIP/6061&LOCAL/[EMAIL PROTECTED]) exten => *22*,3,Busy [andthis] exten => s,1,Noop(in andthis) exten => s,2,ResponseTimeout(10) exten => 1,1,Answer exten => 1,2,Wait(1) exten => 1,3,Festival(you pressed one) exten => 1,4,Wait(1) exten => 1,5,Busy exten => t,1,Answer exten => t,2,Wait(1) exten => t,3,Festival(Give up. He's not going to answer) exten => t,4,Wait(1) exten => t,5,Busy ========================= The timeout and so on works fine here - but as I expected, the dialled digit (the "1") is not heard by the LOCAL channel. So there is no way to trigger the "1" exten. [I did notice that if I hit any DTMF key FTER the LOCAL channel Answers in the "t" exten, then I get rewarded with an Asterisk seg fault. So there is something a bit messed up there. The call was originated via CAPI. You don't see this when the call comes in SIP or IAX2.] But putting that aside, perhaps there is a way to propagate the digits within Dial() so that the LOCAL channel sees them. Actually, if we do that, we could then go further and allow for setting a called channel to persist even after another Answers. Now, as well as the ability to ring phones and do dialplan stuff in parallel, per the original request, you can also keep the dialplan listening on a connected call. This would allow flexible implementation of things like transfer, announcement of time remaining, etc etc (avoiding the endless proliferation of special Dial() options). We've talked about this before. Steve _______________________________________________ Asterisk-Dev mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-dev To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
