12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import store from '@/store'
- var _phone=null;
- var server = 'call.yjf.runtzh.com'; // OPEN的IP地址和端口
- function webphoneHandle(type, data, options) {
- console.log("sip:"+type, JSON.stringify(data), options);
- if(type=="outgoing.connecting"){ //正在尝试呼出
-
- }
- else if(type=="outgoing.progress"){ //开始振铃了
-
-
- }
- else if(type=="outgoing.accecpted"){ //被接听
- store.dispatch('CallStatus',{
- title: "正在通话...",
- })
- }
- else if(type=="outgoing.ended"){ //呼出正常结束
- store.dispatch('CallOff')
- }else if(type=="outgoing.failed"){ //呼出失败
- store.dispatch('CallOff')
- }
-
- }
- export function callNumber(customerId,contactsId){
-
- const callUser = store.getters && store.getters.callUser
- const callRealm = store.getters && store.getters.callRealm
- const callHa1 = store.getters && store.getters.callHa1
- JsSIP.C.SESSION_EXPIRES=120,JsSIP.C.MIN_SESSION_EXPIRES=360;
- console.log(callUser)
- console.log(callRealm)
- console.log(callHa1)
- if(_phone==null){
-
- _phone = new WebPhoneSDK({
- lib: JsSIP,
- debug: true,
- debugLib: true,
- user: callUser,
- ha1: callHa1,
- realm: callRealm,
- server: server,
- audioElement: document.getElementById('remoteAudio'),
- httpsConfirmFrame: 'httpsConfirmFrame',
- pcConfig:{"iceServers":[{"urls":["stun:211.159.161.254"]}]},
- events: {
- 'ua.connecting': (type, data) => webphoneHandle(type, data),
- 'ua.connected': (type, data) => webphoneHandle(type, data), //WEBPHONE链接OK
- 'ua.disconnected': (type, data) => webphoneHandle(type, data), //WEBPHONE链接断开
- 'reg.registered': (type, data) => webphoneHandle(type, data), //WEBPHONE 分机注册
- 'reg.unregistered': (type, data) => webphoneHandle(type, data), //WEBPHONE 分机取消注册
- 'reg.failed': (type, data) => webphoneHandle(type, data), //WEBPHONE 注册失败
- 'incoming.notify': (type, data, options) => webphoneHandle(type, data, options), //有电话进来了
- 'incoming.failed': (type, data, options) => webphoneHandle(type, data, options),//WEBPHONE 有电话进来,然后处理失败了(如,我们拒绝了,或者客户侧直接挂断了)
- 'incoming.ended': (type, options) => webphoneHandle(type, options),// WEBPHONE 有电话进来了,呼叫正常结束了
- 'incoming.accecpted': (type, options) => webphoneHandle(type, options),//有电话进来了,呼叫接听了额
- 'outgoing.connecting': (type, options) => webphoneHandle(type, options),//WEBPHONE正在尝试呼出
- 'outgoing.progress': (type, options) => webphoneHandle(type, options),//WEBPHONE开始振铃了
- 'outgoing.failed': (type, data, options) => webphoneHandle(type, data, options),//WEBPHONE呼出失败了,如被叫拒绝了,线路异常呼出失败了
- 'outgoing.ended': (type, options) => webphoneHandle(type, options), //呼出正常结束
- 'outgoing.accecpted': (type, data, options) => webphoneHandle(type, data, options), //呼出被叫接听
- 'call.hold': (type, data) => webphoneHandle(type, data), //呼叫保持
- 'call.unhold': (type, data) => webphoneHandle(type, data), //呼叫解除保持
- }
- })
- _phone.start({});
- }
- var data={customerId:customerId,contactsId:contactsId};
- this.callMobile(data).then(response => {
- if(response.code==200){
- _phone.call(response.mobile,{userdata:response.logs.sessionId});
- this.$store.dispatch('Call', {
- mobile: response.displayMobile,
- sessionId: response.logs.sessionId
- })
- }
- else{
- that.$notify.error({
- title: response.msg,
- showClose: false
- });
- }
- });
- }
- export function callOff(){
- if(_phone!=null){
- _phone.reject();
- }
- }
|