Bài thực hành VoIP
1. Tạo các số điện thoạiCác số điện thoại ở các phòng ta đặt trong ngữ cảnh [Noibo] khi tạo:- Phòng giám đốc : ext. 5xx5 (IAX)- Phòng nhân sự : ext. 6xx6 (SIP)- Phòng kỹ thuật : ext. 7xx7 (IAX)- Phòng bán hàng : ext. 8xx8 (SIP) • Số điện thoại 1111 (IAX) là số điện thoại ở ngoài công ty, đặt trong ngữ cảnh [Benngoai]• Số điện thoại 2222 (SIP) là số điện thoại public của công ty (muốn gọi vào các số nội bộ của công ty phải gọi qua số này ----> 2222 đặt trong ngữ cảnh [Bentrong].2. Liên lạc nội bộ • Kết nối cho các số nội bộ trong công ty liên lạc bình thườngTrong file extensions .conf ta khai báo như sau trong ngữ cảnh [Noibo]: CODE ;quay so den phong Giam Docexten => 5015,1,Answer()exten => 5015,2,Dial(IAX2/5015,30)exten => 5015,3,Hangup();quay so den phong Nhan Suexten => 6016,1,Answer()exten => 6016,2,Dial(SIP/6016,30)exten => 6016,3,Hangup();end of [from-internal];quay so den phong Ky Thuatexten => 7017,1,Answer()exten => 7017,2,Dial(IAX2/7017,30)exten => 7017,3,Hangup();quay so den phong Ban Hangexten => 8018,1,Answer()exten => 8018,2,Dial(SIP/8018,30)exten => 8018,3,Hangup()• Họp nội bộ công ty qua điện thoại giữa tất cả các phòng.Theo yêu cầu đề bài để có thể họp nội bộ công ty qua điện thoại giữa tất cả các phòng, tại mỗi phòng ta nhấn số 4014 là có thể liên lạc với nhau. Ứng dụng Meetme cho phép ta thực hiện điều đó.Các bước thực hiện+++ Mở file Meetme.config trong PBX/ Config File Editor khai báo như sau: CODE Conf => 2000, 654321, 123456 Với: conf=> từ khóa để tạo phòng hội thoại2000: số phòng hội thoại, thuê bao gọi vào con số này để đăng nhập vào phòng hội thoại.654321: mật khẩu đăng nhập 123456: mật khẩu quản trị phòng hội thoại.Nhấn Update để lưu lại+++ Sau khi tạo phòng hội thoại, chúng ta phải khai báo trong dialplan để người gọi có thể đăng nhập vào. Để tiếp nhận các cuộc gọi hội thoại chúng ta dùng hàm ứng dụng meetme() trong kế hoạch dialplan. Mở file extensions.config trong PBX/ Config File Editor khai báo trong ngữ cảnh [Noibo]:CODE ;hoi thoaiexten => 4014,1,Goto(room,1) // khi thuê bao quay số 4014 sẽ được chuyển tới phòng hội thoại roomexten => room,1,MeetMe(2000||654321) // phòng room có số phòng là 2000, mật khẩu đăng nhập là 654321exten => room,2,Hangup()3. Liên lạc từ trong ra ngoài : khai báo trong file extensions.conf trong ngữ cảnh NoiboCODE ;Them so 9 truoc so can goi de lien lac ra ngoai cong tyexten =>_9xxxx,1,Goto(Benngoai,1111,1)4. Liên lạc từ ngoài vào trong Khi cuộc gọi từ ngoài đến số public của công ty thì hệ thống asterisk sẽ phát sinh thông điệp “Chào mừng gọi đến công ty ABC, vui lòng nhấn phím 1 để được nghe hướng dẫn, nhấn phím 2 để được hỗ trợ về kỹ thuật, nhấn phím 3 để biết thông tin tuyển dụng, nhấn phím 4 để để lại lời nhắn hay góp ý, nhấn phím 5 để nghe lại lời chào” sau đó tùy theo lựa chọn của khách hàng mà thực hiện các thao tác. Ở đây mình đã test thử file chạy thông điệp background bằng file.wav mà mình tự thu.Tuy nhiên do quá nặng nên ko thể load được và mình test thử trên file .gsm có sẵn trong thư mục sounds của tổng đài.++ Copy file báo hiệu với thông điệp chào mừng vào thư mục /var/lib/asterisk/sounds.Dùng chương trình winscp382.exe (chương trình quản lý folder hay file giữa PC và địa chỉ cần login )login vào địa chỉ tổng đài asterisk (ví dụ 192.168.1.18) với user và pass là tài khoản và mật khẩu mà bạn đăng nhập trong linux.Login thành công. Lúc này một bên cửa sổ là các thư mục ở máy PC mình, một bên cửa sổ là các thư mục của tổng đài asterisk.Chép file báo hiệu từ máy PC vào thư mục /var/lib/asterisk/sounds. Lưu ý: file báo hiệu phải có định dạng là .wav hoặc .gsm (dung lượng nhỏ) ++ Cấu hình trong file extensions.confhello-world,1-for-am-2-for-pm, 1-yes-2-no là các file báo hiệu .gsm có sẵn trong thư mục sounds. Các bạn có thể dùng file báo hiệu khác để thử.CODE [Bentrong]/// khi gọi vào phát ra thông điệp chào mừng. exten => 2222,1,Background(hello-world)// Sau khi thông điệp phát xong thì chờ và nhận phím từ người dùngexten => 2222,2,Waitexten()///Khi người dùng nhấn phím 1 phát thông điệp và chuyển tới phòng bán hàngexten =>1,1,Playback(1-for-am-2-for-pm)exten =>1,2,Goto(Noibo,8018,1)// Khi người dùng nhấn phím 2 chuyển tới phòng kỹ thuậtexten =>2,1,Goto(Noibo,7017,1) // Khi người dùng nhấn phím 3 chuyển tới phòng nhân sựexten =>3,1,Goto(Noibo,6016,1)// Khi người dùng nhấn phím 4 phát thông điệpexten =>4,1,Playback(1-yes-2-no)// phát ra một tiếng pipexten =>4,2,Answer()//ghi lời nhắn vào hộp thư thoại với aa là tên file ghi lại, %d là số thứ tự lần lượt ghi// ví dụ bạn gọi lần 1 vào số này nó sẽ lưu là aa1, lần kế tiếp sẽ lưu là aa2exten =>4,3,Record(aa%d.gsm)// sau khi thu xong,nó sẽ tự động kết thúc nếu đợi lâu. Bạn nhấn phím # để nghe lại lời thu.(test thử)exten =>4,4,Playback(${RECORDED_FILE})xten =>4,5,Hangup()// Khi người dùng nhấn phím 5 phát lại thông điệpexten =>5,1,Playback(1-yes-2-no)exten =>2222,3,Hangup();end of [Bentrong]*************************************************************************************Bài thực hành này, chỉ cấu hình trên 2 file extensions.conf và meetme.confextensions.confCODE [general]static = yeswriteprotect = yesautofallthrough = yes;end of [general][Noibo];Them so 9 truoc so can goi de lien lac ra ngoai cong ty exten =>_9xxxx,1,Goto(Benngoai,1111,1);hoi thoaiexten => 4014,1,Goto(room,1)exten => room,1,MeetMe(2000||654321)exten => room,2,Hangup();quay so den phong Giam Docexten => 5015,1,Answer()exten => 5015,2,Dial(IAX2/5015,30)exten => 5015,3,Hangup();quay so den phong Nhan Suexten => 6016,1,Answer()exten => 6016,2,Dial(SIP/6016,30)exten => 6016,3,Hangup();end of [from-internal];quay so den phong Ky Thuatexten => 7017,1,Answer()exten => 7017,2,Dial(IAX2/7017,30)exten => 7017,3,Hangup();quay so den phong Ban Hangexten => 8018,1,Answer()exten => 8018,2,Dial(SIP/8018,30)exten => 8018,3,Hangup();end of [Noibo][Benngoai]; tu 1111 goi vao 2222exten => 2222,1,Goto(Bentrong,2222,1)exten => 1111,1,Answer()exten => 1111,2,Dial(IAX2/1111,30)exten => 1111,3,Hangup();end of [Benngoai][Bentrong]exten => 2222,1,Background(hello-world)exten => 2222,2,Waitexten()exten =>1,1,Playback(1-for-am-2-for-pm)exten =>1,2,Goto(Noibo,8018,1) exten =>2,1,Goto(Noibo,7017,1)exten =>3,1,Goto(Noibo,6016,1)exten =>4,1,Playback(1-yes-2-no)exten =>4,2,Answer()exten =>4,3,Record(aa%d.gsm)exten =>4,4,Playback(${RECORDED_FILE})exten =>4,5,Hangup()exten =>5,1,Playback(1-yes-2-no)exten =>2222,3,Hangup();end of [Bentrong]meetme.confCODE Conf => 2000, 654321,123456 . [Bentrong]************************************************************************************ *Bài thực hành này, chỉ cấu hình trên 2 file extensions.conf và meetme.confextensions.confCODE. 4014 là có thể liên lạc với nhau. Ứng dụng Meetme cho phép ta thực hiện điều đó.Các bước thực hiện+++ Mở file Meetme.config trong PBX/ Config File Editor