ใน Dial Plan หรือไฟล์ extensions.conf นั้นนะครับ เป็นที่ๆเราจะบอก (หรือสั่ง) Asterisk ว่าถ้ามีใครกดเบอร์นี้มันต้องไปทำอะไรบ้าง นั่นแสดงว่าเราจะต้องใช้ "คำสั่ง หรือ Asterisk Dialplan Commands" สั่งงาน Asterisk นั่นเอง มาดูกันครับว่ามีคำสั่งอะไรบ้าง แต่ละคำสั่งใช้ประโยชน์อะไร และใช้งานอย่างไร
นี่เป็นรายละเอียดและความสำคัญของไฟล์ extensions.conf นะครับ
คำสั่งทั้งหมดนี้เราสามารถเรียกดูได้นะครับ โดยเข้าไปที่ Asterisk Console แล้วพิมพ์คำสั่ง show applications (อย่าลืมตัว s ด้วยนะครับ) ก็จะมีคำสั่งและคำอธิบายปรากฏขึ้นมาให้เห็น
ถ้าต้องการดูรายละเอียดที่มากขึ้นของแต่ละคำสั่ง เช่น คำสั่งนี้ใช้ทำอะไร ใช้งานยังไง มีออปชั่นอะไรให้ใช้บ้าง ให้พิมพ์ show application ตามด้วยชื่อคำสั่ง เช่นผมจะดูรายละเอียดคำสั่ง VoiceMail ผมก็พิมพ์แบบนี้ show application VoiceMail หรือ show application voicemail ก็จะปรากฏรายละเอียดออกมา ดังตัวอย่าง
คำสั่งทั้งหมดแบ่งออกเป็นหมวดหมู่ได้ดังต่อไปนี้
คำสั่งเหล่านี้ครอบคลุมถึงเวอร์ชั่น 1.6 เลยนะครับ
1 คำสั่งทั่วไป
1.1 Authenticate
1.2 VMAuthenticate
1.3 Bridge
1.4 ChannelRedirect
1.5 CheckGroup
1.6 ClearHash
1.7 Curl
1.8 DUNDiLookup
1.9 GetGroupCount
1.10 GetGroupMatchCount
1.11 KeepAlive
1.12 Log
1.13 Page
1.14 PickupChan
1.15 SendDTMF
1.16 SendImage
1.17 SendText
1.18 SendURL
1.19 SetGroup
1.20 System
1.21 Transfer
1.22 TrySystem
1.23 Wait
1.24 WaitExten
1.25 WaitForRing
1.26 WaitMusicOnHold
2 คำสั่งเกี่ยวกับ Billing/CDR
2.1 ForkCDR
2.2 NoCDR
2.3 ResetCDR
2.4 SetAccount
2.5 SetAMAFlags
2.6 SetCDRUserField
2.7 AppendCDRUserField
3 คำสั่งเกี่ยวกับ Call Management (Hangup, Answer, Dial, ...)
3.1 AMD
3.2 Answer
3.3 Busy
3.4 ChanIsAvail
3.5 Congestion
3.6 Dial
3.7 DISA
3.8 Hangup
3.9 Originate
3.10 RetryDial
3.11 Ringing
4 คำสั่งเกี่ยวกับ Caller Presentation (ID, Name, ...) แสดงตัวตนของผู้โทรเข้ามา
4.1 CallingPres
4.2 LookupBlacklist
4.3 LookupCIDName
4.4 PrivacyManager
4.5 SetCallerID
4.6 SetCallerPres
4.7 SetCIDName
4.8 SetCIDNum
4.9 SoftHangup
4.10 Zapateller
5 คำสั่งเกี่ยวกับ ADSI
5.1 ADSIProg
5.2 GetCPEID
6 คำสั่งเกี่ยวกับ Database
6.1 DBdel
6.2 DBdeltree
6.3 DBget
6.4 DBput
6.5 ODBCFinish
6.6 RealTime
6.7 RealTimeUpdate
7 คำสั่งเกี่ยวกับการเรียกใช้งาน Application อื่นที่เราพัฒนาขึ้นมาใช้งาน
7.1 AGI
7.2 DeadAGI
7.3 EAGI
7.4 EnumLookup
7.5 ExternalIVR
7.6 JabberSend
7.7 JabberStatus
7.8 Jack
7.9 Read
7.10 ReadFile
7.11 TXTCIDName
7.12 UserEvent
8 คำสั่งเกี่ยวกับ Call Flow & Timeouts
8.1 AbsoluteTimeout
8.2 ContinueWhile
8.3 DigitTimeout
8.4 EndWhile
8.5 Exec
8.6 ExecIf
8.7 ExecIfTime
8.8 ExitWhile
8.9 Gosub
8.10 GosupIf
8.11 Goto
8.12 GotoIf
8.13 GotoIfTime
8.14 Macro
8.15 MacroExclusive
8.16 MacroExit
8.17 MacroIf
8.18 NoOp
8.19 Random
8.20 ResponseTimeout
8.21 Return
8.22 StackPop
8.23 While
9 คำสั่งเกี่ยวกับ String & Variable Manipulation
9.1 Cut
9.2 ImportVar
9.3 Math
9.4 SetGlobalVar
9.5 MSet
9.6 Set
9.7 DumpChan
10 คำสั่งเกี่ยวกับการเล่นไฟล์เสียง
10.1 Background
10.2 BackgroundDetect
10.3 ControlPlayback
10.4 DateTime
10.5 Echo
10.6 Festival
10.7 Milliwatt
10.8 MP3Player
10.9 MusicOnHold
10.10 Playback
10.11 Playtones
10.12 Proceeding
10.13 Progress
10.14 SayUnixtime
10.15 SayAlpha
10.16 SayDigits
10.17 SayNumber
10.18 SayPhonetic
10.19 SetMusicOnHold
10.20 SetLanguage
10.21 StopPlaytones
11 คำสั่งเกี่ยวกับการบันทึกเสียงและการเปิดฟัง
11.1 ChangeMonitor
11.2 ChanSpy
11.3 Dictate
11.4 ExtenSpy
11.5 MixMonitor
11.6 Monitor
11.7 Record
11.8 StopMonitor
11.9 StopMixMonitor
12 คำสั่งเกี่ยวกับ SIP
12.1 SIPdtmfMode
12.2 SIPGetHeader
12.3 SIPAddHeader
13 คำสั่งเกี่ยวกับ DAHDI (ชื่อเดิมคือ ZAP)
13.1 Flash
13.2 DAHDIBarge
13.3 ZapCD
13.4 BristuffZapEC
13.5 DAHDISendKeypadFacility
13.6 DAHDIRAS
13.7 DAHDIScan
14 คำสั่งเกี่ยวกับ Voicemail และ Conference
14.1 ConfBridge
14.2 Directory
14.3 HasNewVoicemail
14.4 HasVoicemail
14.5 MailboxExists
14.6 MeetMe
14.7 MeetMeAdmin
14.8 MeetMeChannelAdmin
14.9 MeetMeCount
14.10 MiniVM
14.11 MinivmAccMess
14.12 MinivmDelete
14.13 MinivmGreet
14.14 MinivmNotify
14.15 MinivmRecord
14.16 VoiceMail
14.17 VoiceMailMain
14.18 VMAuthenticate
15 คำสั่งเกี่ยวกับ Queue และ ACD
15.1 AddQueueMember
15.2 AgentCallbackLogin
15.3 AgentLogin
15.4 AgentMonitorOutgoing
15.5 Park
15.6 ParkAandAnnounce
15.7 ParkedCall
15.8 PauseQueueMember
15.9 Queue
15.10 RemoveQueueMember
15.11 UnpauseQueueMember
16 คำสั่งเกี่ยวกับ Short Message Service (SMS)
16.1 SMS
17 คำสั่งเกี่ยวกับ Alarm Monitoring/Central Station
17.1 AlarmReceiver
18 คำสั่งเกี่ยวกับ Amateur Radio/Repeating Linking
18.1 Rpt
19 คำสั่งเกี่ยวกับการเชื่อมต่อโปรแกรมอื่น
19.1 app_dbodbc
19.2 DynExtenDB
19.3 Iconv
19.4 LDAPget
19.5 app_Prepaid
19.6 PPPD
19.7 Backticks
19.8 ASR
19.9 Vxml
19.10 MYSQL
19.11 DBQuery
19.12 Perl
19.13 PHP
19.14 DBRewrite
19.15 Flite
19.16 ASLAMonitor
19.17 DTMFToText
19.18 ICES
19.19 NBScat