玛氪宕·梦魔(Markdown Memo),使用Markdown的云端备忘录,百度IFE的RIA启航班的不合格的作业,才……才没有什么阴谋呢!
源gitee链接https://gitee.com/arathi/MarkdownMemo?_from=gitee_search
				
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					155 lines
				
				4.5 KiB
			
		
		
			
		
	
	
					155 lines
				
				4.5 KiB
			| 
								 
											11 years ago
										 
									 | 
							
								<!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>
							 |