Api tích hợp cho monitor supervisor asterisk

API giám sát tổng đài asterisk

API giám sát được code và lib theo định dạng web với method POST để lấy thông tin hiện tại hoặc trạng thái hiện tại của tổng đài, từ đó phân tích nghiệp vụ theo qui trình nghiệp vụ hiện hành. Cơ chế mỗi khi gọi api sẽ được trả về trạng thái hiện hành trên tổng đài, do đó, phần Frontend sẽ gọi interval cứ mỗi 5s một lần hoặc hơn đến API để request thông tin trả về, hạn chế để interval time quá ngắn sẽ làm crash hệ thống. Phần này cần cân nhắc.

(a) Lấy thông tin trạng thái hiện hành của một extension

Cú pháp gọi:

http://IP_HOST_PBX:8082/api/statistic.php?action=status&extension={extension}

Truyền biến:

  • action: status – hành động cần truy vấn
  • extension: là số extension của tổng đài gán với CRM user khi login nhận call (chính là extension dùng với API inbound call) hoặc bất cứ extension nào tồn tại trên tổng đài.

Trả về:

  • Trả về json

[“Response: Success”,”Message: Extension Status”,”Exten: xxxx”,”Context: from-internal”,”Hint: SIP\/xxxx,CustomPresence:xxxx”,”Status: 4″,””,””,””]

  • Status code

-1 = Extension not found

            0 = Idle

            1 = In Use

            2 = Busy

            4 = Unavailable

            8 | 9 = Ringing

            16 = On Hold

Ví dụ: Cần check status của extension 100, thì cần truy xuất API như sau:

http://IP_HOST_PBX:8082/api/statistic.php?action=status&extension=100

kết quả trả về:

[

“Response: Success”,

“Message: Extension Status”,

“Exten: 100”,

“Context: from-internal”,

“Hint: SIP\/100,CustomPresence:100”,

“Status: 4”,

“”,

“”,

“”

]

(b) Lấy thông tin trạng thái hiện hành của các cuộc gọi được thiết lập

Cú pháp gọi:

http://IP_HOST_PBX:8082/api/statistic.php?action=channel

Truyền biến:

  • action: channel – là hành động cần lấy trạng thái hiện hành

Trả về:

  • Trả về json mảng những cuộc gọi đang hiện hành trên hệ thống

Channel; Context; Extension; Prio; State; Application; Data; CallerID; Duration; Accountcode; PeerAccount; BridgedTo

  • Status example

Một cuộc gọi OUTBOUND được máp 2 kênh, một kênh từ extension đến tổng đài, một kênh từ tổng đài dùng đường channel đi ra nhà mạng, phần highlight thể hiện 2 kênh được map với nhau, xem thêm phần giải thích cùng mẫu dữ liệu ở hình bên dưới, lưu ý BridgedTo chỉ có giá trị khi  kênh được trả lời.

Data mẫu

[

{“Channel”:”SIP\/CMC-HN-00005cdd”,”Context”:”from-trunk”,”Extension”:””,”Prio”:”1″,”State”:”Up”,”Application”:”AppDial”,”Data”:”(Outgoing Line)”,”CallerID”:”0379691909″,”Accountcode”:””,”flag1″:””,”flag2″:”3″,”Duration”:”182″,”BridgedTo”:”SIP\/72113-00005cdc”,”UniqueID”:”1555143501.34013\n”},

{“Channel”:”SIP\/72113-00005cdc”,”Context”:”macro-dialout-trunk”,”Extension”:”s”,”Prio”:”22″,”State”:”Up”,”Application”:”Dial”,”Data”:”SIP\/CMC-HN\/0379691909,300,”,”CallerID”:”842871062199″,”Accountcode”:””,”flag1″:””,”flag2″:”3″,”Duration”:”182″,”BridgedTo”:”SIP\/CMC-HN-00005cdd”,”UniqueID”:”1555143501.34012\n”}

]

H1. Hình mô tả chi tiết tham số khi outbound call trả về và ý nghĩa

Một cuộc gọi INBOUND sinh ra 2 channels quản lý trên hệ thống. với Inbound call, cần phải máp BridgedTo trên extension channel với Channel trên PSTN channel, xem thêm giải thích ở phần hình ảnh bên dưới

[

{“Channel”:”SIP\/ctytnhhrealtime-00005ceb”,”Context”:”macro-dial-one”,”Extension”:”s”,”Prio”:”43″,”State”:”Up”,”Application”:”Dial”,”Data”:”SIP\/0000,15,tr”,”CallerID”:”0967616499″,”Accountcode”:””,”flag1″:””,”flag2″:”3″,”Duration”:”9″,”BridgedTo”:”SIP\/0000-00005cee”,”UniqueID”:”1555143979.34027\n”},

{“Channel”:”SIP\/0000-00005cee”,”Context”:”from-internal”,”Extension”:””,”Prio”:”1″,”State”:”Up”,”Application”:”AppDial”,”Data”:”(Outgoing Line)”,”CallerID”:”0000″,”Accountcode”:””,”flag1″:””,”flag2″:”3″,”Duration”:”5″,”BridgedTo”:”SIP\/ctytnhhrealtime-00005ceb”,”UniqueID”:”1555143983.34030\n”},

]

H2. Hình mô tả chi tiết tham số khi inbound call trả về và ý nghĩa

Ví dụ: Cần check channels trên tổng đài, thì cần truy xuất API như sau:

http://IP_HOST_PBX:8082/api/statistic.php?action=channel

(c) Tương tác với kênh gọi được thiết lập

Tương tác thoai này cho phép giám sát hệ thống có thể thực hiện các thao tác như nghe xen, nghe lén, đàm thoại tay ba trên toàn diện các điện thoại viên mình đang quản lý

      (1) Listen – Nghe lén

Cú pháp gọi:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=listen&source=[ext_supervisor]&dest=[ext_agent]

Truyền biến:

  • action: interact – hành động cần truy vấn tham số tương tác
  • action_type : Originate
  • function: listen | whisper | conference
  • source: là số extension của giám sát viên tồn tại trên tổng đài.
  • dest: là số extension của nhân sự đang cần giám sát

Trả về:

  • None

Ví dụ: Từ giám sát sử dụng extension 100 cần nghe xen điện thoại viên extension 101 đang đàm thoại với khách hàng (điện thoại viên và khách hàng đều không biết sự việc đang sảy ra), thì cần truy xuất API như sau:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=listen&source=100&dest=101

      (2) Whisper – Nghe xen với điện thoại viên

Cú pháp gọi:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=whisper&source=[ext_supervisor]&dest=[ext_agent]

Truyền biến:

  • action: interact – hành động cần truy vấn tham số tương tác
  • action_type: Originate
  • function: whisper
  • source: là số extension của giám sát viên tồn tại trên tổng đài.
  • dest: là số extension của nhân sự đang cần giám sát

Trả về:

  • None

Ví dụ: Từ giám sát sử dụng extension 100 cần nghe xen và nói chuyện 2 chiều với mỗi điện thoại viên extension 101 đang trao đổi với khách hàng (điện thoại viên nghe và tương tác được 2 chiều với giám sát nhưng khách hàng không biết sự việc đang sảy ra), thì cần truy xuất API như sau:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=whisper&source=100&dest=101

      (3) Conference – Nghe và đàm thoại với nhân viên và khách hàng (3way)

Cú pháp gọi:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=conference&source=[ext_supervisor]&dest=[ext_agent]

Truyền biến:

  • action: interact – hành động cần truy vấn tham số tương tác
  • action_type: Originate
  • function: conference
  • source: là số extension của giám sát viên tồn tại trên tổng đài.
  • dest: là số extension của nhân sự đang cần giám sát

Trả về:

  • None

Ví dụ: Từ giám sát sử dụng extension 100 cần nghe xen và nói chuyện 2 chiều với mỗi điện thoại viên extension 101 đang trao đổi với khách hàng và cả khách hàng (trao đổi như conference), thì cần truy xuất API như sau:

http://IP_HOST_PBX:8082/api/statistic.php?action=interact&action_type=Originate&function=conference&source=100&dest=101

Mr Huynh.

Liên  hệ: sales@realtime.vn

Skype: chaungochuynh15

Hoặc hotline: 028 730 33888 | 0933119056

Leave a Reply