From 515b4adb35845201ba3826b8cfdf24028e10c394 Mon Sep 17 00:00:00 2001 From: Vyshakh Babji Date: Tue, 18 Dec 2018 00:19:01 -0800 Subject: [PATCH] Fix Ext to Ext calling issue and Early media handling. Fixes #176 and #160. (#177) Upgraded SDK to 0.6.2 --- README.md | 2 +- package.json | 2 +- src/ringcentral-web-phone.js | 20 ++++++++++++-------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 99e86fa3..a843db1c 100644 --- a/README.md +++ b/README.md @@ -330,7 +330,7 @@ session.stopRecord().then(...); Not yet implemented. Could be done by dialing \*83. The account should be enabled for barge/whisper access through system admin. -### Upgrade Procedure from v0.4.X to 0.6.1 +### Upgrade Procedure from v0.4.X to 0.6.2 - SDK constructor now allows to add custom UA Configuration parameters like `sessionDescriptionHandlerFactory` , `sessionDescriptionHandlerFactoryOptions` , `maxReconnectionAttempts` , `reconnectionTimeout`, `connectionTimeout` diff --git a/package.json b/package.json index 7ded8fb8..bf4666b9 100644 --- a/package.json +++ b/package.json @@ -51,5 +51,5 @@ "node": ">=0.10.36" }, "license": "MIT", - "version": "0.6.1" + "version": "0.6.2" } \ No newline at end of file diff --git a/src/ringcentral-web-phone.js b/src/ringcentral-web-phone.js index 731c6a48..361a6b00 100644 --- a/src/ringcentral-web-phone.js +++ b/src/ringcentral-web-phone.js @@ -280,7 +280,7 @@ /*--------------------------------------------------------------------------------------------------------------------*/ - WebPhone.version = '0.6.1'; + WebPhone.version = '0.6.2'; WebPhone.uuid = uuid; WebPhone.delay = delay; WebPhone.extend = extend; @@ -404,14 +404,18 @@ // Audio session.on('progress', function(incomingResponse) { stopPlaying(); - if (incomingResponse.status_code === 183 && incomingResponse.body) { + if (incomingResponse.status_code === 183) { session.createDialog(incomingResponse, 'UAC'); - session.sessionDescriptionHandler.setDescription(incomingResponse.body).then(function() { - session.status = 11; //C.STATUS_EARLY_MEDIA; - session.hasAnswer = true; - }); - } - }); + session.hasAnswer = true; + session.status = 11; + session.sessionDescriptionHandler.setDescription(incomingResponse.body) + .catch(function (exception) { + session.logger.warn(exception); + session.failed(response, C.causes.BAD_MEDIA_DESCRIPTION); + session.acceptAndTerminate({status_code: 488, reason_phrase: 'Bad Media Description'}) + }); + + }}); if(session.media) session.on('trackAdded',addTrack);