| 478 | | [app-directory] |
|---|
| 479 | | ;DIR-CONTEXT set in Digital Receptionist |
|---|
| 480 | | exten => #,1,Wait(1) |
|---|
| 481 | | exten => #,2,AGI(directory,${DIR-CONTEXT},ext-local,${DIRECTORY:0:1}${DIRECTORY_OPTS}o) |
|---|
| 482 | | exten => #,3,Playback(vm-goodbye) |
|---|
| 483 | | exten => #,4,Hangup |
|---|
| 484 | | ; *411 will access the entire directory (not just a single context) |
|---|
| 485 | | exten => *411,1,Answer |
|---|
| 486 | | exten => *411,2,Wait(1) |
|---|
| 487 | | exten => *411,3,AGI(directory,general,ext-local,${DIRECTORY:0:1}${DIRECTORY_OPTS}) |
|---|
| 488 | | exten => *411,4,Playback(vm-goodbye) |
|---|
| 489 | | exten => *411,5,Hangup |
|---|
| 490 | | exten => h,1,Hangup |
|---|
| 491 | | exten => o,1,GotoIf($["${FROM_DID}" = ""]?from-pstn,s,1:from-pstn,${FROM_DID},1) |
|---|
| 492 | | |
|---|
| 493 | | [app-dnd] |
|---|
| 494 | | exten => *78,1,Answer |
|---|
| 495 | | exten => *78,2,Wait(1) |
|---|
| 496 | | exten => *78,3,Macro(user-callerid) |
|---|
| 497 | | exten => *78,4,Set(DB(DND/${CALLERID(number)})=YES) |
|---|
| 498 | | exten => *78,5,Playback(do-not-disturb) |
|---|
| 499 | | exten => *78,6,Playback(activated) |
|---|
| 500 | | exten => *78,7,Macro(hangupcall) |
|---|
| 501 | | exten => *79,1,Answer |
|---|
| 502 | | exten => *79,2,Wait(1) |
|---|
| 503 | | exten => *79,3,Macro(user-callerid) |
|---|
| 504 | | exten => *79,4,DBdel(DND/${CALLERID(number)}) |
|---|
| 505 | | exten => *79,5,Playback(do-not-disturb) |
|---|
| 506 | | exten => *79,6,Playback(de-activated) |
|---|
| 507 | | exten => *79,7,Macro(hangupcall) |
|---|
| 508 | | |
|---|
| 509 | | [app-messagecenter] |
|---|
| 510 | | exten => *98,1,Answer |
|---|
| 511 | | exten => *98,2,Wait(1) |
|---|
| 512 | | exten => *98,3,Macro(user-callerid) |
|---|
| 513 | | exten => *98,4,Macro(get-vmcontext,${CALLERIDNUM}) |
|---|
| 514 | | ; Asterisk 1.2 _requires_ that context be set if mailbox is not in default context |
|---|
| 515 | | ; Dialing *98 from an IVR will be a problem, as macro-get-vmcontext will only return "default" in that case |
|---|
| 516 | | exten => *98,5,VoiceMailMain(${VMCONTEXT}) |
|---|
| 517 | | exten => *98,6,Macro(hangupcall) |
|---|
| 518 | | exten => _*98X.,1,Answer ; can dial *98<exten> to skip 'mailbox' prompt. Useful for speedial. |
|---|
| 519 | | exten => _*98X.,2,Wait(1) |
|---|
| 520 | | exten => _*98X.,3,Macro(get-vmcontext,${EXTEN:3}) |
|---|
| 521 | | exten => _*98X.,4,VoiceMailMain(${EXTEN:3}@${VMCONTEXT}) |
|---|
| 522 | | exten => _*98X.,5,Macro(hangupcall) |
|---|
| 523 | | exten => *97,1,Answer |
|---|
| 524 | | exten => *97,2,Wait(1) |
|---|
| 525 | | exten => *97,3,Macro(user-callerid) |
|---|
| 526 | | exten => *97,4,Macro(get-vmcontext,${CALLERIDNUM}) |
|---|
| 527 | | exten => *97,5,VoicemailMain(${CALLERIDNUM}@${VMCONTEXT}) |
|---|
| 528 | | exten => *97,6,Macro(hangupcall) |
|---|
| 529 | | |
|---|
| 530 | | [app-callwaiting] |
|---|
| 531 | | exten => *70,1,Answer |
|---|
| 532 | | exten => *70,2,Wait(1) |
|---|
| 533 | | exten => *70,3,Macro(user-callerid) |
|---|
| 534 | | exten => *70,4,Set(DB(CW/${CALLERID(number)})=ENABLED) |
|---|
| 535 | | exten => *70,5,Playback(call-waiting) |
|---|
| 536 | | exten => *70,6,Playback(activated) |
|---|
| 537 | | exten => *70,7,Macro(hangupcall) |
|---|
| 538 | | exten => *71,1,Answer |
|---|
| 539 | | exten => *71,2,Wait(1) |
|---|
| 540 | | exten => *71,3,Macro(user-callerid) |
|---|
| 541 | | exten => *71,4,DBdel(CW/${CALLERID(number)}) |
|---|
| 542 | | exten => *71,5,Playback(call-waiting) |
|---|
| 543 | | exten => *71,6,Playback(de-activated) |
|---|
| 544 | | exten => *71,7,Macro(hangupcall) |
|---|
| 545 | | |
|---|
| 546 | | [app-callforward] |
|---|
| 547 | | ; dialed call forward app - forwards calling extension |
|---|
| 548 | | exten => _*72.,1,Macro(user-callerid) |
|---|
| 549 | | exten => _*72.,2,Set(DB(CF/${CALLERID(number)})=${EXTEN:3}) |
|---|
| 550 | | exten => _*72.,3,Answer |
|---|
| 551 | | exten => _*72.,4,Wait(1) |
|---|
| 552 | | exten => _*72.,5,Playback(call-fwd-unconditional) |
|---|
| 553 | | exten => _*72.,6,Playback(for) |
|---|
| 554 | | exten => _*72.,7,Playback(extension) |
|---|
| 555 | | exten => _*72.,8,SayDigits(${CALLERID(number)}) |
|---|
| 556 | | exten => _*72.,9,Playback(is-set-to) |
|---|
| 557 | | exten => _*72.,10,SayDigits(${EXTEN:3}) |
|---|
| 558 | | exten => _*72.,11,Macro(hangupcall) |
|---|
| 559 | | ; prompting call forward app - forwards entered extension |
|---|
| 560 | | exten => *72,1,Answer |
|---|
| 561 | | exten => *72,2,Wait(1) |
|---|
| 562 | | exten => *72,3,BackGround(please-enter-your) |
|---|
| 563 | | exten => *72,4,Playback(extension) |
|---|
| 564 | | exten => *72,5,Read(fromext,then-press-pound) |
|---|
| 565 | | exten => *72,6,Wait(1) |
|---|
| 566 | | exten => *72,7,BackGround(ent-target-attendant) |
|---|
| 567 | | exten => *72,8,Read(toext,then-press-pound) |
|---|
| 568 | | exten => *72,9,Wait(1) |
|---|
| 569 | | exten => *72,10,Set(DB(CF/${fromext})=${toext}) |
|---|
| 570 | | exten => *72,11,Playback(call-fwd-unconditional) |
|---|
| 571 | | exten => *72,12,Playback(for) |
|---|
| 572 | | exten => *72,13,Playback(extension) |
|---|
| 573 | | exten => *72,14,SayDigits(${fromext}) |
|---|
| 574 | | exten => *72,15,Playback(is-set-to) |
|---|
| 575 | | exten => *72,16,SayDigits(${toext}) |
|---|
| 576 | | exten => *72,17,Macro(hangupcall) |
|---|
| 577 | | ; cancels dialed extension call forward |
|---|
| 578 | | exten => _*73.,1,DBdel(CF/${EXTEN:3}) |
|---|
| 579 | | exten => _*73.,2,Answer |
|---|
| 580 | | exten => _*73.,3,Wait(1) |
|---|
| 581 | | exten => _*73.,4,SayDigits(${EXTEN:3}) |
|---|
| 582 | | exten => _*73.,5,Playback(call-fwd-cancelled) |
|---|
| 583 | | exten => _*73.,6,Macro(hangupcall) |
|---|
| 584 | | ; cancels call forward for calling extension |
|---|
| 585 | | exten => *73,1,Macro(user-callerid) |
|---|
| 586 | | exten => *73,2,DBdel(CF/${CALLERID(number)}) |
|---|
| 587 | | exten => *73,3,Answer |
|---|
| 588 | | exten => *73,4,Wait(1) |
|---|
| 589 | | exten => *73,5,Playback(call-fwd-cancelled) |
|---|
| 590 | | exten => *73,6,Macro(hangupcall) |
|---|
| 591 | | ; dialed call forward on busy app - forwards calling extension when busy |
|---|
| 592 | | exten => _*90.,1,Macro(user-callerid) |
|---|
| 593 | | exten => _*90.,2,Set(DB(CFB/${CALLERID(number)})=${EXTEN:3}) |
|---|
| 594 | | exten => _*90.,3,Answer |
|---|
| 595 | | exten => _*90.,4,Wait(1) |
|---|
| 596 | | exten => _*90.,5,Playback(call-fwd-on-busy) |
|---|
| 597 | | exten => _*90.,6,Playback(for) |
|---|
| 598 | | exten => _*90.,7,Playback(extension) |
|---|
| 599 | | exten => _*90.,8,SayDigits(${CALLERID(number)}) |
|---|
| 600 | | exten => _*90.,9,Playback(is-set-to) |
|---|
| 601 | | exten => _*90.,10,SayDigits(${EXTEN:3}) |
|---|
| 602 | | exten => _*90.,11,Macro(hangupcall) |
|---|
| 603 | | ; cancels call forward on busy for calling extension |
|---|
| 604 | | exten => *91,1,Macro(user-callerid) |
|---|
| 605 | | exten => *91,2,DBdel(CFB/${CALLERID(number)}) |
|---|
| 606 | | exten => *91,3,Answer |
|---|
| 607 | | exten => *91,4,Wait(1) |
|---|
| 608 | | exten => *91,5,Playback(call-fwd-on-busy) |
|---|
| 609 | | exten => *91,6,Playback(de-activated) |
|---|
| 610 | | exten => *91,7,Macro(hangupcall) |
|---|
| 611 | | exten => h,1,Hangup |
|---|
| 612 | | |
|---|
| 613 | | [app-calltrace] |
|---|
| 614 | | ; We can't have our timeouts or dial digits collide with other applications |
|---|
| 615 | | ; or extensions, so we build the app in pieces |
|---|
| 616 | | exten => *69,1,Goto(app-calltrace-perform,s,1) |
|---|
| 617 | | |
|---|
| 618 | | [app-calltrace-perform] |
|---|
| 619 | | exten => s,1,Macro(user-callerid) |
|---|
| 620 | | exten => s,2,Answer |
|---|
| 621 | | exten => s,3,Wait(1) |
|---|
| 622 | | exten => s,4,Background(info-about-last-call) |
|---|
| 623 | | exten => s,5,Background(telephone-number) |
|---|
| 624 | | exten => s,6,Set(lastcaller=${DB(CALLTRACE/${CALLERID(number)})}) |
|---|
| 625 | | exten => s,7,GotoIf($[${lastcaller}]?8:14) |
|---|
| 626 | | exten => s,8,SayDigits(${lastcaller}) |
|---|
| 627 | | exten => s,9,Set(TIMEOUT(digit)=3) |
|---|
| 628 | | exten => s,10,Set(TIMEOUT(response)=7) |
|---|
| 629 | | exten => s,11,Background(to-call-this-number) |
|---|
| 630 | | exten => s,12,Background(press-1) |
|---|
| 631 | | exten => s,13,Goto(16) |
|---|
| 632 | | exten => s,14,Playback(from-unknown-caller) |
|---|
| 633 | | exten => s,15,Macro(hangupcall) |
|---|
| 634 | | exten => s,16,NoOp |
|---|
| 635 | | exten => 1,1,Goto(from-internal,${lastcaller},1); |
|---|
| 636 | | exten => i,1,Playback(vm-goodbye) |
|---|
| 637 | | exten => i,2,Macro(hangupcall) |
|---|
| 638 | | exten => t,1,Playback(vm-goodbye) |
|---|
| 639 | | exten => t,2,Macro(hangupcall) |
|---|
| 640 | | |
|---|
| 641 | | [app-userlogonoff] |
|---|
| 642 | | exten => *11,1,Macro(user-logon) |
|---|
| 643 | | exten => *11,2,Hangup() |
|---|
| 644 | | exten => _*11.,1,Macro(user-logon,${EXTEN:3}) |
|---|
| 645 | | exten => _*11.,2,Hangup() |
|---|
| 646 | | exten => *12,1,Macro(user-logoff) |
|---|
| 647 | | exten => *12,2,Hangup() |
|---|
| 648 | | |
|---|