All pastes #970583 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-04-04 03:42 UTC
rendered paste body
; screen global -- yuck, default to hungup
SCREEN_HUNGUP=1

ALLSTATIONS=Local/101@screen&Local/102@screen&Local/105@screen

[incoming_calls]
exten => s,1,Goto(in|1)
exten => _XX.,1,Goto(in|1)

exten => in,1,NoOp(Answering call)
; o=callerid, g=proceed if dest hangs up, j=jump to [12]01, M=Macro
exten => in,2,Dial(${ALLSTATIONS},${SCREENTIMEOUT},og)
;P
exten => in,n,NoOp(Dialstatus = ${DIALSTATUS}, screen_hungup = ${SCREEN_HUNGUP})
exten => in,n,Wait(5)
exten => in,n,GotoIf($[${DIALSTATUS} = ANSWER & ${SCREEN_HUNGUP} = 0] ?done:)
exten => in,n,Goto(vm)
exten => in,500(vm),Answer()
exten => in,n,Voicemail(1234|u)
exten => in,n(done),Hangup()

exten => t,1,Hangup()

[macro-screen]
exten => s,1,Wait(0.2)
exten => s,n,NoOp(${SCREEN_HUNGUP})
exten => s,n,Playback(followme/call-from)
;exten => s,n,SayDigits(${CALLERID(num)})
exten => s,n,Read(ACCEPT|followme/options|1)
exten => s,n,GotoIf($[${EXISTS(${ACCEPT})} = 0] ?no)
exten => s,n,GotoIf($[${ACCEPT} = 1 ] ?yes)
exten => s,n,Goto(no)
exten => s,n+1(no),Set(MACRO_RESULT=CONTINUE)
exten => s,n+1(yes),Set(SCREEN_HUNGUP=0|g)

[macro-callwithscreen]
exten => s,1,NoOp(exten: ${ARG1})
exten => s,n,Dial(Local/${ARG1}@phones,${SCREENTIMEOUT},M(screen))

[screen]
exten => _XXX,1,Macro(callwithscreen|${EXTEN})
exten => t,1,NoOp(Timeout in screen)


Log excerpt:

    -- Executing [s@macro-screen:4] Read("SIP/rlaptop-08237220", "ACCEPT|followme/options|1") in new stack
    -- Accepting a maximum of 1 digits.
    -- <SIP/rlaptop-08237220> Playing 'followme/options' (language 'en')
    -- User disconnected
  == Spawn extension (macro-screen, s, 4) exited non-zero on 'SIP/rlaptop-08237220' in macro 'screen'
  == Spawn extension (macro-callwithscreen, s, 2) exited non-zero on 'Local/105@screen-9038,2' in macro 'callwithscreen'
  == Spawn extension (macro-callwithscreen, s, 2) exited non-zero on 'Local/105@screen-9038,2'
    -- Local/105@screen-9038,1 answered SIP/from-voicepulse-08223a38
    -- Executing [in@incoming_calls:3] NoOp("SIP/from-voicepulse-08223a38", "Dialstatus = ANSWER| screen_hungup = 1") in new stack