Skip to content

Commit 96929f5

Browse files
authored
NoSIP plugin: Fixed SRTP-SDES for "process" request and session update (#2196)
1 parent b06bb76 commit 96929f5

File tree

3 files changed

+143
-98
lines changed

3 files changed

+143
-98
lines changed

html/nosiptest.html

+5-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ <h3>Demo details</h3>
7373
<div class="col-md-6">
7474
<div class="panel panel-default">
7575
<div class="panel-heading">
76-
<h3 class="panel-title">Caller</h3>
76+
<h3 class="panel-title">Caller
77+
<div class="btn-group btn-group-xs pull-right">
78+
<button class="btn btn-danger" autocomplete="off" id="togglevideo">Disable video</button>
79+
</div>
80+
</h3>
7781
</div>
7882
<div class="panel-body" id="videoleft"></div>
7983
</div>

html/nosiptest.js

+49-5
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ var opaqueId = Janus.randomString(12);
5656

5757
var spinner = null;
5858

59+
var videoenabled = true;
60+
var srtp = undefined ; // use "sdes_mandatory" to test SRTP-SDES
61+
5962
$(document).ready(function() {
6063
// Initialize the library (all console debuggers enabled)
6164
Janus.init({debug: "all", callback: function() {
@@ -91,7 +94,7 @@ $(document).ready(function() {
9194
Janus.debug("[caller] Trying a createOffer too (audio/video sendrecv)");
9295
caller.createOffer(
9396
{
94-
// No media provided: by default, it's sendrecv for audio and video
97+
media: {audio: true, video: videoenabled},
9598
success: function(jsep) {
9699
Janus.debug("[caller] Got SDP!", jsep);
97100
// We now have a WebRTC SDP: to get a barebone SDP legacy
@@ -101,7 +104,8 @@ $(document).ready(function() {
101104
// the SIP plugin uses (mandatory vs. optional). We'll
102105
// get the result in an event called "generated" here.
103106
var body = {
104-
request: "generate"
107+
request: "generate",
108+
srtp: srtp
105109
};
106110
caller.send({ message: body, jsep: jsep });
107111
},
@@ -172,7 +176,8 @@ $(document).ready(function() {
172176
request: "process",
173177
type: result["type"],
174178
sdp: result["sdp"],
175-
update: result["update"]
179+
update: result["update"],
180+
srtp: srtp
176181
}
177182
callee.send({ message: processOffer });
178183
} else if(event === "processed") {
@@ -273,6 +278,43 @@ $(document).ready(function() {
273278
$('#videoright .no-video-container').remove();
274279
$('#peervideo').removeClass('hide').show();
275280
}
281+
282+
if(videoenabled) {
283+
$('#togglevideo').html("Disable video").removeClass("btn-success").addClass("btn-danger");
284+
} else {
285+
$('#togglevideo').html("Enable video").removeClass("btn-danger").addClass("btn-success");
286+
}
287+
288+
$('#togglevideo').unbind('click').removeAttr('disabled').click(
289+
function() {
290+
videoenabled = !videoenabled;
291+
var media;
292+
if(videoenabled) {
293+
$('#togglevideo').html("Disable video").removeClass("btn-success").addClass("btn-danger");
294+
media = {addVideo: true};
295+
} else {
296+
$('#togglevideo').html("Enable video").removeClass("btn-danger").addClass("btn-success");
297+
media = {removeVideo: true};
298+
}
299+
caller.createOffer(
300+
{
301+
media: media,
302+
success: function(jsep) {
303+
Janus.debug("[caller] Got UPDATE SDP!");
304+
Janus.debug(jsep);
305+
var body = {
306+
request: "generate",
307+
update: true,
308+
srtp: srtp
309+
};
310+
caller.send({message: body, jsep: jsep});
311+
},
312+
error: function(error) {
313+
Janus.error("WebRTC error:", error);
314+
bootbox.alert("WebRTC error... " + JSON.stringify(error));
315+
}
316+
});
317+
});
276318
},
277319
oncleanup: function() {
278320
Janus.log("[caller] ::: Got a cleanup notification :::");
@@ -363,7 +405,8 @@ $(document).ready(function() {
363405
// We'll get the result in an event called "generated" here.
364406
var body = {
365407
request: "generate",
366-
update: update
408+
update: update,
409+
srtp: srtp
367410
};
368411
callee.send({ message: body, jsep: jsep });
369412
},
@@ -385,7 +428,8 @@ $(document).ready(function() {
385428
request: "process",
386429
type: result["type"],
387430
sdp: result["sdp"],
388-
update: result["update"]
431+
update: result["update"],
432+
srtp: srtp
389433
}
390434
caller.send({ message: processAnswer });
391435
}

0 commit comments

Comments
 (0)