# v2 Changelog

## 2.1.25 (2025-10-12)

* Update rule to set calling out SIP number to SDP header

## 2.1.24 (2025-07-08)

* Hotfix issues auto reject invite call

## 2.1.23 (2025-07-04)

* Remove checking calling session between browser tabs

## 2.1.22 (2025-06-10)

* Apply statusCode `486: Busy Here` when manually reject call
* Add new call method `omiSDK.declineCall()`: inbound call will stop immidiately, without ringing to other extensions
* Add new call method `omiSDK.endCall()`: clone from `omiSDK.stopCall()`
* Update call reject message same as other platforms

## 2.1.21 (2025-04-11)

* Support new init options `phoneMasked`, allow to control phone number masking

## 2.1.20 (2025-04-11)

* Rollback codec `red`

## 2.1.19 (2025-04-10)

* Remove unsupported codec `red`

## 2.1.18 (2025-04-04)

* Add init option `autoReject: Boolean` to control action reject invitation when already in call

## 2.1.17 (2025-04-02)

* Remove action reject invitation when already in call

## 2.1.16 (2025-03-20)

* Auto end call when disconnected with switchboard

## 2.1.15 (2025-03-07)

* Add `utm_source` params for all api request

## 2.1.14 (2024-12-09)

* Fix issues show wrong missed call status

## 2.1.13 (2024-11-11)

* Hotfix issues with end call foward config

## 2.1.12 (2024-11-08)

* Apply end call foward config

## 2.1.11 (2024-09-17)

* Add method to validate invite call before process it:

  ```html
  config.validateInvite = async (data) => { 
      return await doSomeValidation(call);
  }
  ```
* Fixed delay trigger `incall` event because new stream calculator

## 2.1.10 (2024-09-08)

* Add datetime for SIP debug event log data
* Add call stream calculator and save stream stat to call transition

## 2.1.9 (2024-08-19)

* Add new call reject message for event `SERVICE_PACKAGE_NOT_ALLOW`, `CALL_REACH_MAX_CCU`, `CALL_REACH_MAX_QUOTATION`
* Default ignore browser event `beforeunload` when loaded SDK inside iframe

## 2.1.8 (2024-08-16)

* Add new call reject message for event 'DESTINATION\_ADS\_CALL\_OUT\_OF\_TIME\_RANGE'
* Add validate microphone and show alert message when no device available
* Add browser UserAgent in call event data: `call.ua`
* Add devices statues in call event data: `call.devices = { audio: true, video: false }`
* Add margin top CSS for call rejected toast message while calling for embedded theme
* Fix issues don't show correct OMI Contact avatar while calling

## 2.1.7 (14/08/2024)

\- Add default theme script src to prod build

## 2.1.6 (09/08/2024)

\- Hiển thị thông báo và trả thêm nội dung chi tiết nguyên nhân kết thúc cuộc gọi

## 2.0.91 (02/11/2023)

\- Sửa lỗi đôi khi không hiển thị đầu số đang gọi ra\
\- Bổ sung tính năng hiển thị Popup chọn đầu số khác để thực hiện lại cuộc gọi nếu không có người nghe máy

## 2.0.90 (28/10/2023)

\- Update tính năng cấu hình trạng thái "Không làm phiền". Hỗ trợ thêm cấu hình theo nhiều hướng cuộc gọi hơn thay vì chỉ áp dụng cho hướng gọi đến.

## 2.0.89 (23/10/2023)

\- Update thêm cho UI chọn đầu số

## 2.0.88 (18/10/2023)

\- Support UI chuyển tiếp tới **nhóm nội bộ** và **tương tác phím**

## 2.0.86 (10/10/2023)

\- Thêm event tự động **unregister** khi **window\.onbeforeunload**

## 2.0.85 (23/09/2023)

\- Thêm thông báo chặn khi gọi cho chính mình\
\- Fix lỗi không dùng được config "**debug**"\
\- Áp dụng cấu hình doanh nghiệp/ cá nhân cho luồng chọn đầu số gọi ra\
\- Thêm luồng lưu data "**ping\_stat**" cho lịch sử cuộc gọi\
\- Fix lỗi không phát được nhạc chờ khi gọi nội bộ\
\- Tự động mở dialog nhập số gọi ra khi trigger function "**omiSDK.setDialNumber**"

## 2.0.71 (05/07/2023)

\- Bổ sung giao diện chọn đầu số tương tự như phiên bản Web của OMICall\
\- Fix lỗi hiển thị sai thời gian của thông tin cuộc gọi gần nhất

## 2.0.66 (15/02/2023)

\- Thêm form field id "**note**", type "**text**", multiline, khi không có **forms** và bật cả hai **options.showNoteInput** và **options.showTagField**\
\- Fix bug không hiển thị contact info khi gọi nội bộ tới chính mình\
\- Luồng API lưu thông tin cuộc gọi: bổ sung param "**tag**" từ form data, nếu có

## 2.0.0-rc.65 (14/02/2023)

\- Cập nhật **iceServers** IP config\
\- Thêm **options.showTagField**, thêm nhanh form field id "**tag**", type "**multiselect**" cho **forms**\
\- Thêm **options.showInfoLastCall**, search contact ở OMI và info last call của **remoteNumber** đang gọi. Nếu truyền giá trị **{ overrideContact: true }**, sẽ ưu tiên hiển thị contact info từ API, dù trước đó đã dùng **omiSDK.updateContactInfo()**\
\- Support thêm form field với type "**multiselect**" (thường dùng cho việc gán tag cuộc gọi,...).\
&#x20; Dùng kèm với các function:\
&#x20;  \+ **omiSDKTheme.setSelections(id, selections)**\
&#x20;  \+ **omiSDKTheme.setSelecteds(id, selecteds)**\
&#x20;   \* **selections và selecteds:** mảng dữ liệu, item có thể là **String** hoặc **Object(label, value)**\
&#x20;   **\* selecteds** phải là mảng con, thuộc mảng **selections** => dùng **omiSDKTheme.setSelections** trước **omiSDKTheme.setSelecteds**

## 2.0.0-rc.64 (03/02/2023)

\- **Salesforce:** Support **runApex** trong khi thực hiện cuộc gọi và thêm nút "Logout" ở UI dial

## 2.0.0-rc.63 (23/12/2022)

\- **Fix BUG**: không gọi ra được nếu đang set busy = true\
\- Thêm method **omiSDK.setBusy(Boolean)** và **omiSDK.isBusy()**, thay cho omiSDK.busy như trước đó, hiện sẽ lưu trạng thái busy trong localStorage để đồng bộ trạng thái giữa các tab của trình duyệt, vẫn có thể cập nhật trạng thái busy trong config khi init như cũ

## 2.0.0-rc.62 (23/12/2022)

\- **Fix BUG**: error trong callback event, chỉ chặn makeCall khi có calling session 1 lần,...\
\- Support khai báo callback event dạng:\
&#x20; \+ **omiSDK.on('eventName', callback);**\
&#x20; \+ **omiSDK.off('eventName');**\
\- Support UX/UI cho **Salesforce**

## 2.0.0-rc.61 (08/10/2022)

\- Cập nhật một số màu cơ bản và bộ icon của theme default\
\- Thêm chức năng hiển thị thời gian đổ chuông ở dialog call in và out\
\- Thêm chức năng chỉ đổ chuông cuộc gọi tới khi không có cuộc gọi nào đang diễn ra ở trong cùng một trình duyệt\
\- Thêm biến **isAccepted** trong callback event data để biết cuộc gọi đã được trả lời hay chưa\
\- Thêm menu chức năng hiển thị danh sách cuộc gọi gần đây của số nội bộ đang kết nối\
\- Fix một số bug console.log lỗi ko cần thiết

## 2.0.0-rc.60 (24/08/2022)

\- Bổ sung biến **sipDomain và sipUser** trong callback data\
\- Remove việc sử dụng **encodeURIComponent** với data customize cần lưu thêm vào lịch sử cuộc gọi

## 2.0.0-rc.59 (22/08/2022)

\- Remove biến **session** trong callback data để hạn chế lỗi không xác định\
\- Update method **omiSDK.makeCall,** cho phép truyền tham số thứ 2 dạng Object để có thể truyền thêm custom data và thực hiện cuộc gọi giám sát.\
&#x20;Ví dụ: \
&#x20;\+ **`omiSDK.makeCall('100', { sneakyType: 'whisper' });`** : thực hiện cuộc gọi giám sát thì thầm tới số nội bộ 100;\
&#x20;\+ **`omiSDK.makeCall('0394749346', { datas: { 'User-Data': '{"module":"contact","emp_id":"1"}' } });`** : truyền một String bất kỳ hoặc Object đã stringify (max length = 256 ) để lưu thông tin thêm vào lịch sử cuộc gọi, dữ liệu này sẽ được **encodeURIComponent** trước khi truyền lên tổng đài

## 2.0.0-rc.58 (02/08/2022)

\- Thêm options **`extraUserAgentString: String`** sẽ cộng chuỗi thêm vào userAgentString của phiên kết nối tổng đài, có format là: \
\&#xNAN;**`defualtUserAgentString + ';' + extraUserAgentString`**

\- Cập nhật STUN IP cho kết nối tới tổng đài để fix lỗi DNS

## 2.0.0-rc.57 (10/07/2022)

\- Thêm options **`draggable: Boolean`** để cho phép để thay đổi vị trí của nút bật tắt dialog call và dialog cuộc gọi

\- Thêm options **`btnCloseText: String`** để tuỳ chỉnh nội dung chữ của nút đóng và lưu lại cuộc gọi nếu có hiển thị input note hoặc custom forms

## 2.0.0-rc.56 (30/06/2022)

\- Fix lỗi không hiển thị nút "**Đóng và lưu lại**" khi có truyền **forms** tuỳ chỉnh

## 2.0.0-rc.55 (29/06/2022)

\- Cập nhật âm lượng âm báo khi kết thúc cuộc gọi bằng **`0.25 * ringtoneVolume`**

## 2.0.0-rc.54 (27/06/2022)

\- Thêm options **`showNoteInput: Boolean`** để hiển thị input note mặc định và nút "**Đóng và lưu lại**"
