Dialplan là trái tim của hệ thống asterisk. Dialplan cho biết các cuộc gọi sẽ được xử lý như thế nào qua hệ thống asterisk. Dialplan bao gồm tập hợp các dòng lệnh hay các ứng dụng theo một trình tự nào đó mà hệ thống phải thực hiện để đáp ứng nhu cầu chuyển mạch cuộc gọi. Để hiểu rõ và cấu hình thành công hệ thống asterisk thì điều kiện tiên quyết là phải biết như thế nào dialplan hoạt động.
Dialplan là công việc thiết lập cho hoạt động của hệ thống như định hướng các cuộc gọi vào và ra hệ thống, đó là một danh sách các bước hay các lệnh liên tục nhau để thực hiện một tác vụ nào đó mà hệ thống phải thực hiện theo. Khác biệt với các hệ thống điện thoại truyền thống tất cả các công việc cấu hình hệ thống đều là từ phía người sử dụng. Hệ thống chúng ta có hoàn chỉnh tốt hay không phụ thuộc rất nhiều vào việc chúng ta hiểu rõ vào dialplan hay không.
Dialplan được cấu hình qua tập tin extension.conf, liên quan đến việc cấu hình dialplan có những khái niệm cần nắm đó là:
Extentions: Điện thoại nội bộ.
Priorities: Thứ tự thực hiện.
Applications: Các ứng dụng.
Contexts: Các ngữ cảnh.
Extentions
Dialplan là một tập gồm nhiều extention, khi một cuộc gọi tương ứng với extention nào thì ứng dụng cho cuộc gọi đó sẽ được thực hiện. extention có thể đơn giản với một đích danh cụ thể như 8051, letoan hay là một chuỗi so mẫu được thực hiện như _9xxx. Ví dụ :
/etc/asterisk/extention.conf
exten=>8051,1,dial(sip/8051,20) exten=>8051,2,hangup()
“exten=>” giống nhau cho mỗi dòng thực hiện trong dialplan, 8051 là số điện thoại mà thuê bao quay hay là extention, còn các con số 1 và 2 là các priorites tức là thứ tự thực hiện các lệnh. Khi thuê bao quay số 8051 thì đỗ chuông máy ip sip 8051 nếu trong vòng 20 giây mà thuê bao không nhấc máy thì kết thúc cuộc gọi.
Extension là thành phần mà asterisk thực hiện theo, được kích hoạt khi có cuộc gọi vào extension chính là con số mà thuê bao đó cần gọi. Trong mỗi ngữ cảnh sẽ có thể có nhiều extension. Extenstion chính là hạt nhân để hệ thống xác định cuộc gọi cần thực hiện. Extenstion hoàn chỉnh gồm có các phần :
exten => Name,priority,application( )
• Name (Tên ký tự hoặc con số) của extension.
• Priority (Mỗi extension có thể bao gồm nhiều bước mỗi bước được gọi là“priority”).
• Application (or command) Thực hiện một ứng dụng cụ thể nào đó cho cuộc gọi.
Một ví dụ cụ thể như sau:
/etc/asterisk/extention.conf
exten => 7325010,1,Dial(Zap/1,20)
exten => 7325010,2,Voicemail(u7325010)
exten => Tương ứng với mỗi ứng dụng thực hiện