<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=Asterisk_AEL</id>
	<title>Asterisk AEL - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/index.php?action=history&amp;feed=atom&amp;title=Asterisk_AEL"/>
	<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_AEL&amp;action=history"/>
	<updated>2026-04-05T23:33:09Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_AEL&amp;diff=6737&amp;oldid=prev</id>
		<title>Kaoru: extensionの名前制御を加筆</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_AEL&amp;diff=6737&amp;oldid=prev"/>
		<updated>2011-01-12T09:08:00Z</updated>

		<summary type="html">&lt;p&gt;extensionの名前制御を加筆&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2011年1月12日 (水) 18:08時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l49&quot;&gt;49行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;49行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この場合にはコンテキストが異なるので期待した通りの動作をします。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;この場合にはコンテキストが異なるので期待した通りの動作をします。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;AELと従来のextensions.confを併用する場合にはこの挙動に注意してください。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;AELと従来のextensions.confを併用する場合にはこの挙動に注意してください。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==extensionの名前制御==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AELではswitchの中などで、extensionの名前が意図せずに変わってしまう。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;これはPickup()を使う場合に都合が悪い。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; _0. =&amp;gt; {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	switch ($FOONUMBER) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	case 911:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 		jump to911;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 		break;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; to911 =&amp;gt; {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	Dial(SIP/234&amp;amp;SIP/456,30,tw);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	Congestion();&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;などとして分岐の無いextensionへjumpさせれば変化しにくくなる。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;変化したかどうかはael reload後にdialplan showして確認すること。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;以下のようにPickup()でjumpした先を指定すればいい。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; *88 =&amp;gt; {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	Pickup(to911); // Dial()部分はto911からは変化しないはず&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==リロード方法==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==リロード方法==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extensions.confのリロードは従来通り&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;extensions.confのリロードは従来通り&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kaoru</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=Asterisk_AEL&amp;diff=251&amp;oldid=prev</id>
		<title>Takahashi: 新しいページ: &#039;Category:Asterisk Category:AEL ==AEL(Asterisk Extension Language)== Asterisk 1.2以降ではAsterisk Extension Languageと呼ばれる機能が追加されています...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=Asterisk_AEL&amp;diff=251&amp;oldid=prev"/>
		<updated>2007-04-15T13:16:01Z</updated>

		<summary type="html">&lt;p&gt;新しいページ: &amp;#039;&lt;a href=&quot;/index.php/%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA:Asterisk&quot; title=&quot;カテゴリ:Asterisk&quot;&gt;Category:Asterisk&lt;/a&gt; &lt;a href=&quot;/index.php?title=%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA:AEL&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;カテゴリ:AEL (存在しないページ)&quot;&gt;Category:AEL&lt;/a&gt; ==AEL(Asterisk Extension Language)== Asterisk 1.2以降ではAsterisk Extension Languageと呼ばれる機能が追加されています...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Asterisk]]&lt;br /&gt;
[[Category:AEL]]&lt;br /&gt;
==AEL(Asterisk Extension Language)==&lt;br /&gt;
Asterisk 1.2以降ではAsterisk Extension Languageと呼ばれる機能が追加されています。従来のextensions.confをより簡単に記述するための言語です。&amp;lt;br&amp;gt;&lt;br /&gt;
AELはAsterisk 1.2では『試験的実装』と位置付けられ、1.4からは正式実装となっています。&amp;lt;br&amp;gt;&lt;br /&gt;
AELの記述は、extensions.aelというファイルで行い、これが存在しない場合には以下のようなWARNINGがログに出力されますが従来のextensions.confを使用しているのであれば、無視して問題はありません。&lt;br /&gt;
 Oct  2 23:31:21 WARNING[9612] pbx_ael.c: Unable to open &amp;#039;/etc/asterisk/extensions.ael&amp;#039;: &lt;br /&gt;
                 No such file or directory&lt;br /&gt;
 Oct  2 23:31:21 WARNING[9612] pbx.c: Requested contexts didn&amp;#039;t get merged&lt;br /&gt;
AELの機能を削って軽量化をはかる場合にはmodules.confに以下のように記述しておくと良いでしょう。&lt;br /&gt;
 noload =&amp;gt; pbx_ael.so&lt;br /&gt;
なお、現在まで(～1.4)の実装では、AELは一種のコンパイラ的に動作しており、AELで記述された内容はextensions.confの形式に変換され、extensions.confとマージするという動作をしています。&lt;br /&gt;
==AELの使い方==&lt;br /&gt;
　AELは従来のextensions.confとは全く独立したアプリケーションで、前述のように、これまでのextensions.confと同時に使うことができます。もちろんAELを使わなくてもAsteriskは動作しますので、従来のままのextensions.confを使いたければ、そのまま使えば良いわけです。AELはAsterisk 1.2で初めてリリースされた機能ですので今後、extensionの記述が従来の1.x系になるのか、AELに統一されるのかはまだわかりません。&amp;lt;br&amp;gt;&lt;br /&gt;
　AELを使用するにはモジュール pbx_ael.so がロードされる必要があります。通常はautoloadで使用していると思いますので、設定ファイルを記述すれば使用できます。　設定ファイル(というより記述ファイルですが)は/etc/asterisk/extensions.aelで、このファイルにAELにのっとって記述を行います。たとえば内線番号8000番としてコールキューに入れる処理を記述してみることにします。この場合には以下のようにAELで書きます。&amp;lt;br&amp;gt;&lt;br /&gt;
 context default {&lt;br /&gt;
     8000 =&amp;gt; {&lt;br /&gt;
         Answer();&lt;br /&gt;
         Wait(1);&lt;br /&gt;
         PlayBack(q-default);&lt;br /&gt;
         Queue(queue1,t);&lt;br /&gt;
         Hangup();&lt;br /&gt;
     };&lt;br /&gt;
 };&lt;br /&gt;
　まずcontext{};で括られた内側がそのコンテキストになります。8000=&amp;gt;がそのエクステンションで、8000 =&amp;gt; {};で括られた内側がその処理になります。従来のようにプライオリティをいちいち記述する必要はありません。話中処理などプライオリティジャンプさせていた部分は、if～else式の条件処理に置換されるようです。&lt;br /&gt;
　この記述がちょっと微妙です。例えばdeafult {の部分、deault {と、defaultの後ろにホワイトスペースがないと正しく認識されません。default{と書いてはいけないようです。&lt;br /&gt;
==仕様上の注意==&lt;br /&gt;
　コンテキストがextensions.confとextensions.aelで衝突すると、extensions.confが優先されてしまいます(リロード時には後からリロードされた側)コンテキスト内でのマージはできません。&amp;lt;br&amp;gt;&lt;br /&gt;
例えばextensions.confで次のように記述しておき&lt;br /&gt;
 [default]&lt;br /&gt;
 exten =&amp;gt; 800,1,Something...&lt;br /&gt;
extensions.aelで次のように記述すると&lt;br /&gt;
 context default {&lt;br /&gt;
     exten =&amp;gt; 900 {&lt;br /&gt;
         some_app();&lt;br /&gt;
     };&lt;br /&gt;
 };&lt;br /&gt;
期待するのは[default]コンテキスト内に800と900のエクステンションが登録されることなのですが実際には800のみが登録されます。&amp;lt;br&amp;gt;&lt;br /&gt;
extensions.confで次のように記述し&lt;br /&gt;
 [default]&lt;br /&gt;
 exten =&amp;gt; 800,1,Something...&lt;br /&gt;
 exten =&amp;gt; 900,1,Goto(ael-test,100,1)&lt;br /&gt;
extensions.aelに次のように記述すると&lt;br /&gt;
 context ael-test {&lt;br /&gt;
     exten =&amp;gt; 100 {&lt;br /&gt;
         some_app();&lt;br /&gt;
     };&lt;br /&gt;
 };&lt;br /&gt;
この場合にはコンテキストが異なるので期待した通りの動作をします。&lt;br /&gt;
AELと従来のextensions.confを併用する場合にはこの挙動に注意してください。&lt;br /&gt;
==リロード方法==&lt;br /&gt;
extensions.confのリロードは従来通り&lt;br /&gt;
 *CLI&amp;gt; extensions reload&lt;br /&gt;
で行いますが、AELの場合には以下を使います(1.2.0あたり)&lt;br /&gt;
 *CLI&amp;gt; reload pbx_ael.soAsterisk&lt;br /&gt;
1.2.5ではael reloadがサポートされています。&lt;br /&gt;
 *CLI&amp;gt; ael ?&lt;br /&gt;
 debug   no      reload&lt;br /&gt;
 *CLI&amp;gt; ael reload&lt;br /&gt;
従来形式とAELを併用している場合には片側のコマンド実行だけではエクステンションのリロードが完全には行われませんから注意します。&lt;br /&gt;
==確認方法==&lt;br /&gt;
AELで作成したextensionsが正しく展開されているかどうかを確認するには、CLIでshow dialplanを使います。特定のコンテキストのみを確認する場合にはshow dialplan ael-testのようにコンテキストを指定します。&lt;br /&gt;
 *CLI&amp;gt; show dialplan&lt;br /&gt;
 [ Context &amp;#039;myext&amp;#039; created by &amp;#039;pbx_config&amp;#039; ]&lt;br /&gt;
   &amp;#039;111&amp;#039; =&amp;gt;          1. NoOp()                                     [pbx_config]&lt;br /&gt;
 &lt;br /&gt;
 [ Context &amp;#039;default&amp;#039; created by &amp;#039;pbx_ael&amp;#039; ]&lt;br /&gt;
   &amp;#039;117&amp;#039; =&amp;gt;          1. Answer()                                   [pbx_ael]&lt;br /&gt;
                     2. Wait(1)                                    [pbx_ael]&lt;br /&gt;
                     3. Set(FutureTime=$Math{(${EPOCH}+5)})        [pbx_ael]&lt;br /&gt;
                     4. SayUnixTime(${FutureTime}||PHM)            [pbx_ael]&lt;br /&gt;
                     5. PlayBack(beep)                             [pbx_ael]&lt;br /&gt;
                     6. Hangup()                                   [pbx_ael]&lt;br /&gt;
[]の中のpbx_configはextensions.confで作成されたもの、pbx_aelがAELで記述されたものになります。&lt;/div&gt;</summary>
		<author><name>Takahashi</name></author>
	</entry>
</feed>