All pastes #236661 Raw Edit

Stuff

public text v1 · immutable
·published 2006-11-03 23:20 UTC
rendered paste body
[sipphones]

 exten => 6968,1,Macro(support|phone1)
 exten => 6969,1,Macro(support|phone2)

[macro-stdexten]
 exten => s,1,Dial(${ARG2},20)                                  ; Ring the interface, 20 seconds maximum
 exten => s,2,Goto(s-${DIALSTATUS},1)                           ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
 exten => s-NOANSWER,1,Voicemail(u${ARG1})                      ; If unavailable, send to voicemail w/ unavail announce
 exten => s-NOANSWER,2,Goto(default,s,1)                        ; If they press #, return to start
 exten => s-BUSY,1,Voicemail(b${ARG1})                          ; If busy, send to voicemail w/ busy announce
 exten => s-BUSY,2,Goto(default,s,1)                            ; If they press #, return to start
 exten => _s-.,1,Goto(s-NOANSWER,1)                             ; Treat anything else as no answer
 exten => a,1,VoicemailMain(${ARG1})                            ; If they press *, send the user into VoicemailMain

[macro-support]
;Arg1=Extension 
;0 "Unknown", Valid, but unknown state
;1 "Not in use", Not used 
;2 "In use", In use
;3 "Busy", Busy
;4 "Invalid", Invalid - not known to Asterisk
;5 "Unavailable", Unavailable (not registred) 
;6 "Ringing", "Ring, ring, ring"

 exten => s,1,ChanIsAvail(SIP/${ARG1}|s)
 exten => s,2,NoOp(Channel ${ARG1} has a status of ${AVAILSTATUS})
 exten => s,3,Goto(s-${AVAILSTATUS},1)
 exten => s,103,NoOp(Channel ${ARG1} has a status of ${AVAILSTATUS})

 ;exten => s-1,1,Dial(Sip/${ARG1},60)  ;Channel is available
 ;exten => s-1,n,Goto(s-${DIALSTATUS}) ;We still want fail over.

 exten => s-1,1,Macro(stdexten|${Arg1}|SIP/${Arg1})

 exten => s-2,1,Answer()
 exten => s-2,n,Set(Timeout=30)
 exten => s-2,n,Wait(1)
 exten => s-2,n,Festival("That user is on the phone")
 ;exten => s-2,n,Background(useronphone)
 exten => s-2,n,Festival("Press 1 to wait for that user")
 ;exten => s-2,n,Background(press1towait)
 exten => s-2,n,Festival("Press 2 to wait in the support queue and wait for another support technician.")
 ;exten => s-2,n,Background(press2forqueue)
 exten => s-2,n,Festival("Press 3 to leave a voice mail message.")
 ;exten => s-2,n,Background(press3forvm)
 exten => s-2,n,Festival("Press 4 to induce a high level of voltage from the user's handset directly into their brain, forcing them to hangup so they will be available to take your call.")
 exten => s-2,n,Wait(10)

 exten => s-3,1,Goto(s-2,1)

 exten => s-5,1,Goto(s-2,1)

 exten => s-4,1,Playback(somethingiswrong)
 exten => s-4,n,Playback(tt-weasels)
 exten => s-4,n,Playback(thankyouforcalling)
 exten => s-4,n,Playback(goodbye)
 exten => s-4,n,Hangup()

 exten => s-0,1,Macro(stdexten|${Arg1}|SIP/${Arg1})

 exten => 1,1,Queue(q${Arg1})

 exten => 2,1,macro(support-tree)

 exten => 3,1,Voicemail(u${Arg1})
 exten => 3,n,Hangup()

[macro-support-tree]

 exten => s,1,Answer()
 exten => s,n,Set(Timeout=30)
 exten => s,n,Wait(1)
 exten => s,n,Background(press1forwinops)
 exten => s,n,Background(press2forpershing)
 exten => s,n,Background(press3foralbridge)
 exten => s,n,Background(press4forinvestigo)
 exten => s,n,Background(press5foremail)
 exten => s,n,Background(press6foritsupport)
 exten => s,n,Wait(10)

 exten => 1,1,SetCIDName("WinOps Support"|a)
 exten => 1,n,Goto(s-queueme)
 exten => 2,1,SetCIDName("Pershing Support"|a)
 exten => 2,n,Goto(s-queueme)
 exten => 3,1,SetCIDName("Albridge Support"|a)
 exten => 3,n,Goto(s-queueme)
 exten => 4,1,SetCIDName("Investigo Support"|a)
 exten => 4,n,Goto(s-queueme)
 exten => 5,1,SetCIDName("Email Support"|a)
 exten => 5,n,Goto(s-queueme)
 exten => 6,1,SetCIDName("IT Support"|a)
 exten => 6,n,Goto(s-queueme)

 exten => s-queueme,1,Queue(support|n)







*******Calls********


   -- Executing Macro("SIP/phone2-bc417db0", "support|phone1") in new stack
    -- Executing ChanIsAvail("SIP/phone2-bc417db0", "SIP/phone1|s") in new stack
    -- Executing NoOp("SIP/phone2-bc417db0", "Channel phone1 has a status of 0") in new stack
    -- Executing Goto("SIP/phone2-bc417db0", "s-0|1") in new stack
    -- Goto (macro-support,s-0,1)
    -- Executing Macro("SIP/phone2-bc417db0", "stdexten|phone1|SIP/phone1") in new stack
    -- Executing Dial("SIP/phone2-bc417db0", "SIP/phone1|20") in new stack
    -- Called phone1
    -- SIP/phone1-0075fcf0 is ringing
  == Spawn extension (macro-stdexten, s, 1) exited non-zero on 'SIP/phone2-bc417db0' in macro 'stdexten'
  == Spawn extension (macro-stdexten, s, 1) exited non-zero on 'SIP/phone2-bc417db0' in macro 'support'
  == Spawn extension (macro-stdexten, s, 1) exited non-zero on 'SIP/phone2-bc417db0'
    -- Executing NoOp("SIP/phone1-bc417db0", "") in new stack
    -- Executing SetVar("SIP/phone1-bc417db0", "ALERT_INFO=Bellcore-dr1") in new stack
    -- Executing SetCIDName("SIP/phone1-bc417db0", "Support Queue") in new stack
    -- Executing NoOp("SIP/phone1-bc417db0", "") in new stack
    -- Executing Queue("SIP/phone1-bc417db0", "support|n") in new stack
    -- Started music on hold, class 'default', on channel 'SIP/phone1-bc417db0'
    -- Executing Macro("SIP/phone2-bc41d5d0", "support|phone1") in new stack
    -- Executing ChanIsAvail("SIP/phone2-bc41d5d0", "SIP/phone1|s") in new stack
  == Spawn extension (macro-support, s, 1) exited non-zero on 'SIP/phone2-bc41d5d0' in macro 'support'
  == Spawn extension (macro-support, s, 1) exited non-zero on 'SIP/phone2-bc41d5d0'
    -- Exiting on time-out cycle
    -- Stopped music on hold on SIP/phone1-bc417db0
    -- Executing VoiceMail("SIP/phone1-bc417db0", "u4910") in new stack
Nov  3 17:15:25 WARNING[17942]: app_voicemail.c:2412 leave_voicemail: No entry in voicemail config file for '4910'