มารู้จัก Asterisk Functions กันเถอะ

Asterisk Opensource IP Pbx

มารู้จัก Asterisk Functions กันเถอะ

โพสต์โดย voip4share » 08 ม.ค. 2010 11:45

ฟังก์ชั่นใน Asterisk หรือ Asterisk Functions มีใช้ใน Dial Plan (ไฟล์ extensions.conf) เช่นเดียวกับคำสั่งต่างๆที่เรารู้มา แต่ว่าการใช้งานจะไม่เหมือนกับคำสั่งตรงที่เราไม่สามารถเรียกใช้ "ฟังก์ชั่น" ได้ตรงๆ แต่มันจะคืนค่าที่ Dial Plan จะนำเอาไปใช้งานต่อ

บางฟังก์ชั่นก็อาจจะ "อ่าน" ค่าออกมา บางฟังก์ชั่นก็อาจจะ "เขียน" ค่าเข้าไปเก็บไว้ เวลาเขียนชื่อฟังก์ชั่นต้องต้องเขียนเป็น "อักษรตัวใหญ่" ด้วยนะครับ ฟังก์ชั่นเหล่านี้ Asterisk เตรียมไว้ให้เราใช้งานอยู่แล้วครับ เราไม่ต้องสร้างขึ้นมาเอง แค่เรียกใช้งานเวลาต้องการ

ต่อไปนี้เป็นชื่อฟังก์ชั่นทั้งหมดที่มีอยู่ อัพเดทถึง Asterisk เวอร์ชั่น 1.6.2 นะครับ

AES_DECRYPT
AES_ENCRYPT
AGC
AGENT
ARRAY
AST_CONFIG
AUDIOHOOK_INHERIT
BASE64_DECODE
BASE64_ENCODE
BLACKLIST
CALLERID
CALLERPRES
CDR
CHANNEL
CHANNELS
CHECKSIPDOMAIN
CHECK_MD5
CLEARHASH
CONNECTEDLINE
CSV_QUOTE
CURL
CURLOPT
CUT
DB
DB_DELETE
DB_EXISTS
DEC
DENOISE
DEVICE_STAT
DIALGROUP
DIALPLAN_EXISTS
DUNDILOOKUP
DUNDIQUERY
DUNDIRESULT
ENUMLOOKUP
ENUMQUERY
ENUMRESULT
ENV
EVAL
EXECPTION
EXISTS
EXTENSION_STATE
FIELDQTY
FILE
FILTER
GROUP
GROUP_COUNT
GROUP_LIST
GROUP_MATCH_COUNT
HASH
HASHKEYS
HINT
IAXPEER
IAXVAR
IF
IFMODULE
IFTIME
IMPORT
INC
ISNULL
JACK_HOOK
KEYPADHASH
LANGUAGE
LEN
LOCK
MATH
MD5
MUSICCLASS
ODBC
QUEUEAGENTCOUNT
QUEUE_MEMBER_COUNT
QUEUE_MEMBER_LIST
QUEUE_WAITING_COUNT
QUOTE
RAND
REALITME
REGEX
SET
SHA1
SHARED
SHELL
SIPCHANINFO
SHIPPER
SIPADDHEADER
SIP_HEADER
SORT
SQL_ESC
STAT
STRFTIME
STRPTIME
SYSINFO
TIMEOUT
TOUPPER
TOLOWER
TRYLOCK
TXTCIDNAME
UNLOCK
URIDECODE
URIENCODE
VOLUME
VMCOUNT

การใช้ "ฟังก์ชั่น" ใน Dial Plan

ลองดูตัวอย่างต่อไปนี้ครับ

exten => s,1,Set(foo=${CUT(bar,,2)})

เป็นการ Set ตัวแปรชื่อ foo ให้แก่ฟังก์ชั่น CUT ซึ่งฟังก์ชั่นนี้มีตัวแปรแรกคือ bar ตัวแปรที่สองว่าง ตัวแปรที่สามมีค่าเป็น 2

ตัวอย่างต่อไป

exten => s,1,Set(CALLERID(name)=Nong Kik)
exten => s,n,Set(CALLERID(number)=25022532)

ดูรายชื่อฟังก์ชั่นจาก Asterisk Console
เราสามารถเรียกดูรายชื่อฟังก์ชั่นที่มีอยู่ได้จาก Asterisk Console (แต่รายชื่อฟังก์ชั่นที่ปรากฏขึ้นมาจะขึ้นอยู่กับโมดูลที่เราโหลดใช้งานด้วยนะครับ) ใช้คำสั่ง show functions
และถ้าจะดูรายละเอียดของฟังก์ชั่น ก็ให้ระบุชื่อฟังก์ชั่นไปด้วย เช่น show function CUT

เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
เทคนิคการติดตั้ง Asterisk 15.x + DAHDI 2.11.1 บน CentOS 7
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: Google [Bot] และ บุคคลทั่วไป 12 ท่าน