Revision: 78502c6c746c
Author:   Strullu <[email protected]>
Date:     Wed Jan 16 07:00:31 2013
Log: Correction issue 45: Bug in MobicentsWebRTCPhone webapp example on 200OK response on proxy authenticated INVITE (407 error)

http://code.google.com/p/jain-sip/source/detail?r=78502c6c746c&repo=javascript

Modified:
 /examples/MobicentsWebRTCPhone/src/main/webapp/js/MobicentsWebRTCPhone.js

=======================================
--- /examples/MobicentsWebRTCPhone/src/main/webapp/js/MobicentsWebRTCPhone.js Tue Jan 8 07:12:50 2013 +++ /examples/MobicentsWebRTCPhone/src/main/webapp/js/MobicentsWebRTCPhone.js Wed Jan 16 07:00:31 2013
@@ -642,7 +642,7 @@
         this.invitedState=this.INVITED_ACCEPTED_STATE;
var jainSip200OKResponse=this.jainSipInvitedReceivedRequest.createResponse(200, "OK");
         jainSip200OKResponse.addHeader(this.jainSipContactHeader);
-        jainSip200OKResponse.addHeader(this.jainSipUserAgentHeader);
+        jainSip200OKResponse.addHeader(this.jainSipUserAgentHeader);
jainSip200OKResponse.setMessageContent("application","sdp",sdpOffer);
         this.jainSipInvitedTransaction.sendResponse(jainSip200OKResponse);
         showByeButton();
@@ -721,7 +721,7 @@
     var statusCode = parseInt(jainSipResponse.getStatusCode());
     if(this.invitingState==this.INVITING_STATE)
     {
-        if(statusCode< 200)
+        if(statusCode < 200)
         {
             startRinging();
console.debug("MobicentsWebRTCPhone:handleStateMachineInvitingResponseEvent(): 1XX response ignored");
@@ -787,6 +787,18 @@
this.jainSipInvitingDialog.setRemoteTarget(jainSipResponse.getHeader("Contact")); var jainSipMessageACK = responseEvent.getOriginalTransaction().createAck();
             this.jainSipInvitingDialog.sendAck(jainSipMessageACK);
+            var sdpAnswerString = jainSipResponse.getContent();
+            var sdpAnswer = new RTCSessionDescription({
+                type: 'answer',
+                sdp: sdpAnswerString
+            });
+            var application=this;
+            this.peerConnectionState = 'answer-received';
+ this.peerConnection.setRemoteDescription(sdpAnswer, function() { + application.onPeerConnectionSetRemoteDescriptionSuccessCallback();
+            }, function(error) {
+ application.onPeerConnectionSetRemoteDescriptionErrorCallback(error);
+            });
         }
         else
         {
@@ -796,6 +808,7 @@
             showUnRegisterButton();
             this.initPeerConnectionStateMachine();
             this.initSipInvitingStateMachine();
+            stopRinging();
         }
     }
     else if(this.invitingState==this.INVITING_FAILED_STATE)

Reply via email to