Phát một tập tin âm thanh trong khi vẫn chờ để nhận các số vào. Cú pháp:
background(filename1[filename2…][options[langoverride][context]])
Ứng dụng này sẽ phát một danh sách tập tin được đưa vào trong khi vẫn chờ để nhận một số được gởi đến bởi một kênh gọi đến. Để tiếp tục chờ nhận các số sau khi ứng dụng này đã kết thúc việc phát các tập tin âm thanh thì ứng dụng WaitExten được sử dụng. tuỳ chọn “langoverride” chỉ ngôn ngữ được sử dụng để nhận các tập tin âm thanh phát ra (tức các tập tin âm thanh được tạo ra thành các bộ theo từng ngôn ngữ). Nếu một ngữ cảnh (context) được sử dụng thì nó là một ngữ cảnh của sơ đồ quay số mà ứng dụng này sẽ sử dụng khi hoàn tất một số đã được gởi đến. Nếu một trong các tập tin trong danh sách các tập tin được phát ra không tồn tại thì tiến trình phát sẽ bị hủy bỏ.
3.7.2 Ứng dụng record()
Ứng dụng này dùng để thu âm từ một kênh và tạo ra một tập tin định sẵn, nếu tập tin này đã tồn tại thì nó sẽ ghi đè lên.
Cú pháp:
record(filename.format silence[maxduration][option])
• “format” : là kiểu định dạng của tập tin có thể lưu được (như: wav, gsm…). • “silence” : là số giây im lặng cho phép trước khi bắt đầu thu âm.
• “maxduration” : là số giây ghi âm tối đa nếu không có thông số này hoặc thông số này bằng 0 thì không có giới hạn về thời gian ghi âm.
• “options” : tuỳ chọn gồm bất kỳ các ký tự sau:
o 'a' : thêm vào một tập tin âm thanh đã tồn tại thay vì ghi đè.
o 's' : vẫn giữ việc ghi âm cho dù đường dây không trả lời.
o 't' : dùng để thay việc kết thúc ghi âm dùng dấu sao “*” thay vì dấu thăng “#”. o 'x' : bỏ qua phím báo hiệu kết thúc ghi âm và giữ đến khi nào gắc máy.
Nếu tên tập tin có chứa “%d” nó sẽ thay thế cho một số tăng dần mỗi khi một tập tin đươc ghi âm.
Dùng lệnh # show file formats để xem các kiểu định dạng mà hệ thống hỗ trợ.
Người sử dụng bấm phím # để kết thúc việc ghi âm, nếu người sử dụng gác máy giữa chừng thì quá trình ghi âm sẽ bị huỷ bỏ và không lưu lại tập tin ghi âm này.
3.7.3 Ứng dụng playback()
Phát một tập tin âm thanh (không cần đưa vào phần đuôi) Cú pháp:
playback([filename1[& filename2…][option])
3.7.4 Ứng dụng read()
Ứng dụng này dùng để xác định trước số con số hay một khoảng thời gian quy định trước (biến số) khi người dùng nhập vào hệ thống.
Cú pháp:
Read(variable[filename][maxdigits][option][attempts][timeout]
• “filename” : tập tin âm thanh phát ra truớc khi đọc các con số. • “maxdigits” : số các con số nhập vào tối đa.
• “attempts” : nếu lớn hơn 1 tức sẽ thử nhiều lần nếu không có dữ liệu đưa vào.
3.7.5 Ứng dụng gotoif()
Cú pháp:
Gotoif(condition?[labeliftrue]:[labeliffalse])
Ứng dụng này sẽ giúp cho cuộc gọi có thể nhảy đến một vùng xác định trong sơ đồ quay số dựa vào giá trị trong phần điều kiện (condition). Cuộc gọi sẽ tiếp tục đến “labeliftrue” nếu thoả điều kiện và “lableiffalse” nếu không thoả. “label” có cấu trúc tương tự như cấu trúc sử dụng trong ứng dụng goto().
3.8 Xây dụng một hệ thống IVR
Yêu cầu: Khi nhận số IVR sẽ phát một tập tin âm thanh với nội dung ‘Chào mừng bạn đến với công ty XYZ, bấm phím 1 để vào phòng kinh doanh, phím 2 để vào phòng hỗ trợ kỹ thuật, bấm số 3 để vào phòng huấn luyện, hoặc xin quý khách chờ trong giây lát để gặp tổng đài viên của chúng tôi…”. Khi số 1 được bấm, cuộc gọi sẽ được chuyển đến phòng kinh doanh (SIP/4001); nếu bấm phím số 2, cuộc gọi sẽ được chuyển đến phòng hỡ trợ kỹ thuật (SIP/4002); nếu bấm phím số 3, cuộc gọi sẽ được chuyển đến phòng huấn luyện (SIP/4003). Nếu không có phím nào được bấm thì chuyển cuộc gọi đến tổng đài viên (SIP/4000).