ARI là gì

  • Thursday 03/12/2020

ARI là gì

Ban đầu, Asterisk được phát triển như một gói phần mềm độc lập để kết nối các đường dây điện thoại. Cấu hình của một cấu trúc như vậy được thực hiện với sự trợ giúp của các tệp cấu hình và việc kiểm soát các cuộc gọi được thực hiện thông qua một tệp cấu hình cụ thể (extension.conf), tất cả logic được viết tắt là “dialplan”. Trong khi sử dụng PBX, nảy sinh nhu cầu yêu cầu cách tiếp cận phi tiêu chuẩn, vượt ra ngoài việc sử dụng các chức năng tích hợp sẵn và ứng dụng quay số. Để làm điều này, các lập trình viên đã phát triển các mô-đun riêng biệt bằng ngôn ngữ C, các mô-đun này truy cập dữ liệu của các kênh, phương tiện, cầu nối và thiết bị đầu cuối. Khi phát triển nhiều sắc thái, bạn không thể lường trước được, do đó, các lỗi và thiếu sót phát sinh trong các mô-đun tùy chỉnh, dẫn đến sự sụp đổ của hệ thống. Vì vậy, hai giao diện, AMI và AGI, đã được phát triển để quản lý các ứng dụng quay số,

AGI là một chất tương tự của CGI trong Apache. AGI là lớp giữa kế hoạch quay số Asterisk và chương trình quản lý kênh bên ngoài. Nó là một giao diện đồng bộ thực hiện các hành động trên một đường ống và trả về kết quả cho đến khi quá trình kết thúc.

AMI là một giao diện sự kiện không đồng bộ cho phép bạn theo dõi thông tin về các quy trình đang diễn ra trong Asterisk, cũng như thực thi và sửa đổi các đối tượng Asterisk. Không giống như AGI. Phiên kết nối ứng dụng của bên thứ ba được thiết lập qua TCP / IP. Trong các tệp cấu hình Dấu hoa thị, theo mặc định, đây là cổng kết nối 5038. Điều đó cho phép bạn gửi một yêu cầu đến dấu hoa thị mà chương trình khách hàng sẽ nhận được phản hồi sự kiện.
* Kết luận sau đây :

– AGI chặn luồng trong Dấu hoa thị cho đến khi hành động kết thúc.
– AGI không thể theo dõi các sự kiện DTMF, trạng thái kênh, v.v.
– AMI và AGI đã lỗi thời.
Do đó, người ta quyết định kết hợp AGI và AMI, và đây là cách Giao diện Asterisk REST (ARI) xuất hiện.

*Ý tưởng chính đằng sau giao diện ARI như sau:

– Sử dụng cả theo dõi và thay đổi trạng thái của cuộc gọi, cũng như gọi các chức năng quay số
– Giao diện hoạt động không đồng bộ
– Trả về giá trị theo loại – kênh, luồng phương tiện, cầu nối, thiết bị, v.v.
– Dữ liệu của các nhóm được hiển thị được truyền qua WebSocket ở định dạng JSON

*Có ba khái niệm chính trong ARI, chúng giống như các tiên đề trong toán học:

– Giao diện RESTful được phía máy khách sử dụng để điều khiển các cuộc gọi
– WebSocket gửi các sự kiện đến máy khách ở định dạng JSON
– Ứng dụng được sử dụng trong kế hoạch quay số là Stasis. Kiểm soát cuộc gọi được chuyển cho ứng dụng khách.

+ RESTful là một phong cách kiến ​​trúc để tương tác với các thành phần phần mềm. ( Wiki )

+ WebSocket là một giao thức giao tiếp từ máy khách đến máy chủ tương đối mới trong chế độ thời gian thực. Trong trường hợp ARI, websocket được sử dụng để truyền không đồng bộ các sự kiện từ dấu hoa thị đến máy khách.

+ Stasis – cho phép bạn chuyển quyền điều khiển kênh sang ứng dụng bên ngoài thông qua kế hoạch quay số dấu hoa thị.

Nhóm và danh mục của chúng
API REST Asterisk
API REST cầu
API REST kênh
Devicestates REST API
API REST điểm cuối
API REST sự kiện
API REST hộp thư
API REST phát lại
API REST bản ghi
Mô hình dữ liệu REST
API Sounds REST

Rate this post