Blame view

backend/makest/js/plugins/codemirror/mode/asterisk/index.html 4.48 KB
d1f8bd40   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
  <!doctype html>
  
  <title>CodeMirror: Asterisk dialplan mode</title>
  <meta charset="utf-8"/>
  <link rel=stylesheet href="../../doc/docs.css">
  
  <link rel="stylesheet" href="../../lib/codemirror.css">
  <script src="../../lib/codemirror.js"></script>
  <script src="asterisk.js"></script>
  <style>
        .CodeMirror {border: 1px solid #999;}
        .cm-s-default span.cm-arrow { color: red; }
      </style>
  <div id=nav>
    <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
  
    <ul>
      <li><a href="../../index.html">Home</a>
      <li><a href="../../doc/manual.html">Manual</a>
      <li><a href="https://github.com/codemirror/codemirror">Code</a>
    </ul>
    <ul>
      <li><a href="../index.html">Language modes</a>
      <li><a class=active href="#">Asterisk dialplan</a>
    </ul>
  </div>
  
  <article>
  <h2>Asterisk dialplan mode</h2>
  <form><textarea id="code" name="code">
  ; extensions.conf - the Asterisk dial plan
  ;
  
  [general]
  ;
  ; If static is set to no, or omitted, then the pbx_config will rewrite
  ; this file when extensions are modified.  Remember that all comments
  ; made in the file will be lost when that happens.
  static=yes
  
  #include "/etc/asterisk/additional_general.conf
  
  [iaxprovider]
  switch => IAX2/user:[key]@myserver/mycontext
  
  [dynamic]
  #exec /usr/bin/dynamic-peers.pl
  
  [trunkint]
  ;
  ; International long distance through trunk
  ;
  exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
  exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})
  
  [local]
  ;
  ; Master context for local, toll-free, and iaxtel calls only
  ;
  ignorepat => 9
  include => default
  
  [demo]
  include => stdexten
  ;
  ; We start with what to do when a call first comes in.
  ;
  exten => s,1,Wait(1)			; Wait a second, just for fun
  same  => n,Answer			; Answer the line
  same  => n,Set(TIMEOUT(digit)=5)	; Set Digit Timeout to 5 seconds
  same  => n,Set(TIMEOUT(response)=10)	; Set Response Timeout to 10 seconds
  same  => n(restart),BackGround(demo-congrats)	; Play a congratulatory message
  same  => n(instruct),BackGround(demo-instruct)	; Play some instructions
  same  => n,WaitExten			; Wait for an extension to be dialed.
  
  exten => 2,1,BackGround(demo-moreinfo)	; Give some more information.
  exten => 2,n,Goto(s,instruct)
  
  exten => 3,1,Set(LANGUAGE()=fr)		; Set language to french
  exten => 3,n,Goto(s,restart)		; Start with the congratulations
  
  exten => 1000,1,Goto(default,s,1)
  ;
  ; We also create an example user, 1234, who is on the console and has
  ; voicemail, etc.
  ;
  exten => 1234,1,Playback(transfer,skip)		; "Please hold while..."
  					; (but skip if channel is not up)
  exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
  exten => 1234,n,Goto(default,s,1)		; exited Voicemail
  
  exten => 1235,1,Voicemail(1234,u)		; Right to voicemail
  
  exten => 1236,1,Dial(Console/dsp)		; Ring forever
  exten => 1236,n,Voicemail(1234,b)		; Unless busy
  
  ;
  ; # for when they're done with the demo
  ;
  exten => #,1,Playback(demo-thanks)	; "Thanks for trying the demo"
  exten => #,n,Hangup			; Hang them up.
  
  ;
  ; A timeout and "invalid extension rule"
  ;
  exten => t,1,Goto(#,1)			; If they take too long, give up
  exten => i,1,Playback(invalid)		; "That's not valid, try again"
  
  ;
  ; Create an extension, 500, for dialing the
  ; Asterisk demo.
  ;
  exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
  exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default)	; Call the Asterisk demo
  exten => 500,n,Playback(demo-nogo)	; Couldn't connect to the demo site
  exten => 500,n,Goto(s,6)		; Return to the start over message.
  
  ;
  ; Create an extension, 600, for evaluating echo latency.
  ;
  exten => 600,1,Playback(demo-echotest)	; Let them know what's going on
  exten => 600,n,Echo			; Do the echo test
  exten => 600,n,Playback(demo-echodone)	; Let them know it's over
  exten => 600,n,Goto(s,6)		; Start over
  
  ;
  ;	You can use the Macro Page to intercom a individual user
  exten => 76245,1,Macro(page,SIP/Grandstream1)
  ; or if your peernames are the same as extensions
  exten => _7XXX,1,Macro(page,SIP/${EXTEN})
  ;
  ;
  ; System Wide Page at extension 7999
  ;
  exten => 7999,1,Set(TIMEOUT(absolute)=60)
  exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
  
  ; Give voicemail at extension 8500
  ;
  exten => 8500,1,VoicemailMain
  exten => 8500,n,Goto(s,6)
  
      </textarea></form>
      <script>
        var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
          mode: "text/x-asterisk",
          matchBrackets: true,
          lineNumber: true
        });
      </script>
  
      <p><strong>MIME types defined:</strong> <code>text/x-asterisk</code>.</p>
  
    </article>