Thanks, Wes, G was just what I
needed. Here's where I am:
[macro-stdexten]
exten => s,1,Set(cname=${CALLERID(number)[EMAIL PROTECTED])
exten => s,n,Set(CALLERID(number)=${cname})
exten => s,n,Dial(${ARG2},20,gtTwWG(OnAnswer,1,1))
exten => s,n,Set(savestatus=${DIALSTATUS})
exten => s,n,Goto(s-${savestatus},1);ANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER
exten => s-CHANUNAVAIL,1,VoiceMail(u${ARG1})
exten => s-CONGESTION,1,VoiceMail(u${ARG1})
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => h,1,Macro(OnHangup)
exten => s,1,Set(cname=${CALLERID(number)[EMAIL PROTECTED])
exten => s,n,Set(CALLERID(number)=${cname})
exten => s,n,Dial(${ARG2},20,gtTwWG(OnAnswer,1,1))
exten => s,n,Set(savestatus=${DIALSTATUS})
exten => s,n,Goto(s-${savestatus},1);ANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER
exten => s-CHANUNAVAIL,1,VoiceMail(u${ARG1})
exten => s-CONGESTION,1,VoiceMail(u${ARG1})
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => h,1,Macro(OnHangup)
[OnAnswer]
exten => 1,1,NoOp(IN POSTDIAL 1)
exten => 1,2,NoOp(IN POSTDIAL 2)
exten => h,1,Macro(OnHangup)
exten => 1,1,NoOp(IN POSTDIAL 1)
exten => 1,2,NoOp(IN POSTDIAL 2)
exten => h,1,Macro(OnHangup)
[macro-OnHangup]
exten => s,1,NoOp(IN ONHANGUP)
exten => s,1,NoOp(IN ONHANGUP)
Unanswered
calls stay in macro-stdexten and so get handled as desired. When a call is
answered, I do see that control has passed to OnAnswer. From the available evidence in the CLI, I'm
guessing that having grabbed control from Dial() with the G switch, it is
incumbent on me to do whatever it is Asterisk would have done if I hadn't
grabbed the wheel. I do
notice that OnHangup gets called for both, which is good. Here's the CLI
log for "dave" calling "andrea", showing how both channels hit OnAnswer and time
out. I just need to figure out what to do there in order for the two to
talk.
-- SIP/dave-06e2 is
ringing
-- SIP/dave-06e2 answered SIP/Andrea-7837
== Channel 'SIP/Andrea-7837' jumping out of macro 'stdexten'
-- Executing NoOp("SIP/Andrea-7837", "IN POSTDIAL 1") in new stack
-- Executing NoOp("SIP/Andrea-7837", "IN POSTDIAL 2") in new stack
-- Executing NoOp("SIP/dave-06e2", "IN POSTDIAL 2") in new stack
May 10 08:50:37 WARNING[8722]: pbx.c:2412 __ast_pbx_run: Timeout, but no rule 't' in context 'OnAnswer'
-- Executing Macro("SIP/Andrea-7837", "OnHangup") in new stack
-- Executing NoOp("SIP/Andrea-7837", "IN ONHANGUP") in new stack
May 10 08:50:37 WARNING[8725]: pbx.c:2412 __ast_pbx_run: Timeout, but no rule 't' in context 'OnAnswer'
-- Executing Macro("SIP/dave-06e2", "OnHangup") in new stack
-- Executing NoOp("SIP/dave-06e2", "IN ONHANGUP") in new stack
-- SIP/dave-06e2 answered SIP/Andrea-7837
== Channel 'SIP/Andrea-7837' jumping out of macro 'stdexten'
-- Executing NoOp("SIP/Andrea-7837", "IN POSTDIAL 1") in new stack
-- Executing NoOp("SIP/Andrea-7837", "IN POSTDIAL 2") in new stack
-- Executing NoOp("SIP/dave-06e2", "IN POSTDIAL 2") in new stack
May 10 08:50:37 WARNING[8722]: pbx.c:2412 __ast_pbx_run: Timeout, but no rule 't' in context 'OnAnswer'
-- Executing Macro("SIP/Andrea-7837", "OnHangup") in new stack
-- Executing NoOp("SIP/Andrea-7837", "IN ONHANGUP") in new stack
May 10 08:50:37 WARNING[8725]: pbx.c:2412 __ast_pbx_run: Timeout, but no rule 't' in context 'OnAnswer'
-- Executing Macro("SIP/dave-06e2", "OnHangup") in new stack
-- Executing NoOp("SIP/dave-06e2", "IN ONHANGUP") in new stack
_______________________________________________ --Bandwidth and Colocation provided by Easynews.com --
Asterisk-Users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
