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