All pastes #25415 Raw Edit

Untitled

public ini v1 · immutable
#25415 ·published 2005-10-13 19:38 UTC
rendered paste body
;********************************************************************;;********************************************************************;[macro-GetUser];;   Gets information based on dialed extension;;;  Arguments:;       1 = Caller's User Context;       2 = Number Dialed;;  Info Pulled from the Global Variable named as CONTEXT-EXTEN;       e.g.  if someone in cytec's context tried to dial "1234";               it would look up from ${cytec-1234};         inbound did's are looked up in the did context;       e.g.  ${did-1234567890};;  The Format of the Variable is as such:;       context-dialedExtension=outboundExtension-VoicemailBox-Context-Technology-DialTimeout;;       e.g.  did-4699160940=4699160940-106-cytec-SIP-20;;       this would end up running:;               Dial(SIP/4699160940,20);               VoiceMail(106@cytec);;;  NOTE: any unmatched extensions are routed to context-menu_main (cytec-menu_main,s,1);*******************************************************;;   -> Is there a definition for this Number <-         ;;                                                       ;exten => s,1,NoOp(entry = ${${ARG1}-${ARG2}})           ;exten => s,2,GotoIf($[foo${${ARG1}-${ARG2}} = 'foo']?:4);exten => s,3,Goto(Method,1)                             ;exten => s,4,Goto(Process,1)                            ;;                                                       ;;*******************************************************;;                                                       ;;   --> No definition for number <--                    ;;   ---> Check Method for handling defaults <--         ;;                                                       ;;exten => Method,1,NoOp(Method = ${${ARG1}-Method})exten => Method,1,Cut(ThisMethod=${ARG1}-Method,-,1)    ;exten => Method,2,GotoIf($[${ThisMethod} = 'Goto']?:4)  ;exten => Method,3,Goto(Method_GoTo,1)                   ;exten => Method,4,GotoIf($[${ThisMethod} = 'Outbound']?:6);exten => Method,5,Goto(Method_Dial,1)                   ;exten => Method,6,NoOp(Unknown Method: ${${ARG1}-Method})exten => Method,7,Hangup()                              ;;                                                       ;;*******************************************************;;*******************************************************;;***************    Methods     ************************;;*******************************************************;;                                                       ;;   ---> Goto Method <---                               ;;                                                       ;exten => Method_GoTo,1,Cut(ThisTarget=${ARG1}-Method,-,2)       ;exten => Method_GoTo,2,goto(${${ARG1}-Context}-${ThisTarget},s,1);                                                       ;;*******************************************************;;                                                       ;;   ---> Dial Method <---                               ;;                                                       ;exten => Method_Dial,1,Cut(ThisProvider=${ARG1}-Method,-,2)     ;exten => Method_Dial,2,Dial(${${ARG1}-Tech}/${ARG2}@${ThisProvider});                                                       ;;*******************************************************;;*******************************************************;;***************** Process Settings ********************;;*******************************************************;;                                                       ;;   ---> Get and Set Target Extension <---              ;exten => Process,1,Cut(ThisEXT=${ARG1}-${ARG2},-,1)     ;exten => Process,2,GotoIf($[foo${ThisEXT} = 'foo']?:4)  ;exten => Process,3,SetVar(ThisEXT=${${ARG1}-EXT})       ;;                                                       ;;   ---> Get and Set VoiceMail <---                     ;;                                                       ;exten => Process,4,Cut(ThisVM=${ARG1}-${ARG2},-,2)      ;exten => Process,5,GotoIf($[foo${ThisVM} = 'foo']?:7)   ;exten => Process,6,SetVar(ThisVM=${${ARG1}-VM})         ;;                                                       ;;   ---> Get and Set Context <---                       ;;                                                       ;exten => Process,7,Cut(ThisContext=${ARG1}-${ARG2},-,3) ;exten => Process,8,GotoIf($[foo${ThisContext} = 'foo']?:10)exten => Process,9,SetVar(ThisContext=${${ARG1}-Context});                                                       ;;   ---> Get and Set Technology <---                    ;;                                                       ;exten => Process,10,Cut(ThisTech=${ARG1}-${ARG2},-,4)   ;exten => Process,11,GotoIf($[foo${ThisTech} = 'foo']?:13)exten => Process,12,SetVar(ThisTech=${${ARG1}-Tech})    ;exten => Process,13,GotoIf($[${ThisTech} = 'Null']?:16)exten => Process,14,SetVar(ThisTech='')exten => Process,15,Goto(Process,17)exten => Process,16,SetVar(ThisTech=${ThisTech}/);                                                       ;;   ---> Get and Set Timeout                            ;;                                                       ;exten => Process,17,Cut(ThisTimeout=${ARG1}-${ARG2},-,5);exten => Process,18,GotoIf($[foo${ThisTimeout} = 'foo']?:20)exten => Process,19,SetVar(ThisTimeout=${${ARG1}-Timeout});                                                       ;;   ---> Jump to Connect <---                           ;;                                                       ;exten => Process,20,Goto(Connect,1)                     ;;exten => Process,16,Macro(ConnectCall,${ThisEXT},${ThisVM},${ThisContext},${ThisTech},${ThisTimeout});                                                       ;;*******************************************************;;[macro-ConnectCall];*******************************************************;;****************** Connect Call ***********************;;*******************************************************;;                                                       ;;                                                       ;exten => Connect,1,GotoIf($[${ThisEXT} = ${CALLERIDNUM}]?:4)exten => Connect,2,VoicemailMain(${ThisVM}@${ThisContext})exten => Connect,3,Hangup()                             ;;                                                       ;exten => Connect,4,GotoIf($[${ThisTimeout} = '-1']?9)   ;;                                                       ;exten => Connect,5,Dial(${ThisTech}${ThisEXT},${ThisTimeout})exten => Connect,6,GotoIf($[foo${ThisVM} = 'foo']?8)    ;;                                                       ;exten => Connect,7,VoiceMail(u${ThisVM})                ;exten => Connect,8,Hangup()                             ;;                                                       ;exten => Connect,9,Dial(${ThisTech}${ThisEXT})          ;exten => Connect,10,Hangup()                            ;;                                                       ;exten => Connect,106,VoiceMail(b${ThisVM})              ;exten => Connect,107,Hangup()                           ;;                                                       ;exten => t,1,NoOp(Timed Out)                            ;exten => t,2,Hangup()                                   ;exten => i,1,NoOp(Invalid)                              ;exten => i,2,Hangup()                                   ;;                                                       ;;*******************************************************;;[macro-ConnectCall];;  Arguments:;       1 = Extension Number;       2 = Voicemail Box;       3 = Voicemail Context;       4 = Technology (SIP, ZAP, ect..);       5 = Ringer Timeout;;exten => s,1,GotoIf($[${ARG1} = ${CALLERIDNUM}]?2:4);exten => s,2,VoicemailMain(${ARG2}@${ARG3});exten => s,3,Hangup();exten => s,4,Dial(${ARG4}/${ARG1},${ARG5});exten => s,5,VoiceMail(u${ARG2});exten => s,6,Hangup();exten => s,105,VoiceMail(b${ARG2});exten => s,106,Hangup();;*********************************************************************;;*********************************************************************;