File tree Expand file tree Collapse file tree 2 files changed +47
-1
lines changed Expand file tree Collapse file tree 2 files changed +47
-1
lines changed Original file line number Diff line number Diff line change @@ -48,7 +48,7 @@ import Softphone from 'ringcentral-integration/modules/Softphone';
4848import Storage from 'ringcentral-integration/modules/Storage' ;
4949import Subscription from 'ringcentral-integration/modules/Subscription' ;
5050import TabManager from 'ringcentral-integration/modules/TabManager' ;
51- import Webphone from 'ringcentral-integration/modules/Webphone' ;
51+ // import Webphone from 'ringcentral-integration/modules/Webphone';
5252import ContactDetails from 'ringcentral-integration/modules/ContactDetails' ;
5353import Feedback from 'ringcentral-integration/modules/Feedback' ;
5454import Conference from 'ringcentral-integration/modules/Conference' ;
@@ -106,6 +106,7 @@ import ActiveCalls from '../ActiveCalls';
106106import CallingSettings from '../CallingSettings' ;
107107import CallLog from '../CallLog' ;
108108import MeetingInviteModalUI from '../MeetingInviteModalUI' ;
109+ import Webphone from '../Webphone' ;
109110
110111import searchContactPhoneNumbers from '../../lib/searchContactPhoneNumbers' ;
111112import hackSend from '../../lib/hackSend' ;
Original file line number Diff line number Diff line change 1+ import Webphone from 'ringcentral-integration/modules/Webphone' ;
2+ import webphoneErrors from 'ringcentral-integration/modules/Webphone/webphoneErrors' ;
3+ import validateNumbers from 'ringcentral-integration/lib/validateNumbers' ;
4+ import { Module } from 'ringcentral-integration/lib/di' ;
5+ import sleep from 'ringcentral-integration/lib/sleep' ;
6+
7+ @Module ( {
8+ name : 'NewWebphone' ,
9+ deps : [ ]
10+ } )
11+ export default class NewWebphone extends Webphone {
12+ // TODO: remove this after widgets lib fix transfer issue
13+ async transfer ( transferNumber , sessionId ) {
14+ const session = this . _sessions . get ( sessionId ) ;
15+ if ( ! session ) {
16+ return ;
17+ }
18+ try {
19+ session . __rc_isOnTransfer = true ;
20+ this . _updateSessions ( ) ;
21+ let numberResult ;
22+ let validPhoneNumber ;
23+ numberResult = validateNumbers (
24+ [ transferNumber ] ,
25+ this . _regionSettings ,
26+ this . _brand . id ,
27+ ) ;
28+ validPhoneNumber = numberResult && numberResult [ 0 ] ;
29+ // TODO use session.transfer after web phone sdk fix this issue
30+ await this . hold ( sessionId ) ;
31+ await sleep ( 1500 ) ;
32+ await session . blindTransfer ( validPhoneNumber ) ;
33+ session . __rc_isOnTransfer = false ;
34+ this . _updateSessions ( ) ;
35+ this . _onCallEnd ( session ) ;
36+ } catch ( e ) {
37+ console . error ( e ) ;
38+ session . __rc_isOnTransfer = false ;
39+ this . _updateSessions ( ) ;
40+ this . _alert . danger ( {
41+ message : webphoneErrors . transferError ,
42+ } ) ;
43+ }
44+ }
45+ }
You can’t perform that action at this time.
0 commit comments