Skip to content

Commit 2b70a84

Browse files
committed
0.7.4
1 parent d6a86e0 commit 2b70a84

File tree

7 files changed

+133
-34
lines changed

7 files changed

+133
-34
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
CHANGELOG
22
=========
33

4+
Version 0.7.4 (released in 2015-08-10)
5+
---------------------------------------
6+
7+
* Allow rejecting an in-dialog INVITE or UPDATE message
8+
9+
410
Version 0.7.3 (released in 2015-07-29)
511
---------------------------------------
612

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jssip",
3-
"version": "0.7.3",
3+
"version": "0.7.4",
44
"description": "the Javascript SIP library",
55
"main": "dist/jssip.js",
66
"homepage": "http://jssip.net",

dist/jssip-0.7.3.min.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

dist/jssip-0.7.3.js renamed to dist/jssip-0.7.4.js

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* JsSIP v0.7.3
2+
* JsSIP v0.7.4
33
* the Javascript SIP library
44
* Copyright: 2012-2015 José Luis Millán <[email protected]> (https://github.com/jmillan)
55
* Homepage: http://jssip.net
@@ -15530,19 +15530,44 @@ function receiveReinvite(request) {
1553015530
debug('receiveReinvite()');
1553115531

1553215532
var
15533-
sdp, idx, direction,
15533+
sdp, idx, direction, m,
1553415534
self = this,
1553515535
contentType = request.getHeader('Content-Type'),
15536-
m,
1553715536
hold = false,
15537+
rejected = false,
1553815538
data = {
1553915539
request: request,
15540-
callback: undefined
15540+
callback: undefined,
15541+
reject: reject.bind(this)
1554115542
};
1554215543

15544+
function reject(options) {
15545+
options = options || {};
15546+
rejected = true;
15547+
15548+
var
15549+
status_code = options.status_code || 403,
15550+
reason_phrase = options.reason_phrase || '',
15551+
extraHeaders = options.extraHeaders && options.extraHeaders.slice() || [];
15552+
15553+
if (this.status !== C.STATUS_CONFIRMED) {
15554+
return false;
15555+
}
15556+
15557+
if (status_code < 300 || status_code >= 700) {
15558+
throw new TypeError('Invalid status_code: '+ status_code);
15559+
}
15560+
15561+
request.reply(status_code, reason_phrase, extraHeaders);
15562+
}
15563+
1554315564
// Emit 'reinvite'.
1554415565
this.emit('reinvite', data);
1554515566

15567+
if (rejected) {
15568+
return;
15569+
}
15570+
1554615571
if (request.body) {
1554715572
this.late_sdp = false;
1554815573
if (contentType !== 'application/sdp') {
@@ -15642,19 +15667,44 @@ function receiveUpdate(request) {
1564215667
debug('receiveUpdate()');
1564315668

1564415669
var
15645-
sdp, idx, direction,
15670+
sdp, idx, direction, m,
1564615671
self = this,
1564715672
contentType = request.getHeader('Content-Type'),
15648-
m,
15673+
rejected = false,
1564915674
hold = false,
1565015675
data = {
1565115676
request: request,
15652-
callback: undefined
15677+
callback: undefined,
15678+
reject: reject.bind(this)
1565315679
};
1565415680

15681+
function reject(options) {
15682+
options = options || {};
15683+
rejected = true;
15684+
15685+
var
15686+
status_code = options.status_code || 403,
15687+
reason_phrase = options.reason_phrase || '',
15688+
extraHeaders = options.extraHeaders && options.extraHeaders.slice() || [];
15689+
15690+
if (this.status !== C.STATUS_CONFIRMED) {
15691+
return false;
15692+
}
15693+
15694+
if (status_code < 300 || status_code >= 700) {
15695+
throw new TypeError('Invalid status_code: '+ status_code);
15696+
}
15697+
15698+
request.reply(status_code, reason_phrase, extraHeaders);
15699+
}
15700+
1565515701
// Emit 'update'.
1565615702
this.emit('update', data);
1565715703

15704+
if (rejected) {
15705+
return;
15706+
}
15707+
1565815708
if (! request.body) {
1565915709
var extraHeaders = [];
1566015710
handleSessionTimersInIncomingRequest.call(this, request, extraHeaders);
@@ -25072,7 +25122,7 @@ module.exports={
2507225122
"name": "jssip",
2507325123
"title": "JsSIP",
2507425124
"description": "the Javascript SIP library",
25075-
"version": "0.7.3",
25125+
"version": "0.7.4",
2507625126
"homepage": "http://jssip.net",
2507725127
"author": "José Luis Millán <[email protected]> (https://github.com/jmillan)",
2507825128
"contributors": [

dist/jssip-0.7.4.min.js

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jssip.js

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* JsSIP v0.7.3
2+
* JsSIP v0.7.4
33
* the Javascript SIP library
44
* Copyright: 2012-2015 José Luis Millán <[email protected]> (https://github.com/jmillan)
55
* Homepage: http://jssip.net
@@ -15530,19 +15530,40 @@ function receiveReinvite(request) {
1553015530
debug('receiveReinvite()');
1553115531

1553215532
var
15533-
sdp, idx, direction,
15533+
sdp, idx, direction, m,
1553415534
self = this,
1553515535
contentType = request.getHeader('Content-Type'),
15536-
m,
1553715536
hold = false,
15537+
rejected = false,
1553815538
data = {
1553915539
request: request,
15540-
callback: undefined
15540+
callback: undefined,
15541+
reject: reject
1554115542
};
1554215543

15544+
function reject(options) {
15545+
options = options || {};
15546+
rejected = true;
15547+
15548+
var
15549+
status_code = options.status_code || 403,
15550+
reason_phrase = options.reason_phrase || '',
15551+
extraHeaders = options.extraHeaders && options.extraHeaders.slice() || [];
15552+
15553+
if (status_code < 300 || status_code >= 700) {
15554+
throw new TypeError('Invalid status_code: '+ status_code);
15555+
}
15556+
15557+
request.reply(status_code, reason_phrase, extraHeaders);
15558+
}
15559+
1554315560
// Emit 'reinvite'.
1554415561
this.emit('reinvite', data);
1554515562

15563+
if (rejected) {
15564+
return;
15565+
}
15566+
1554615567
if (request.body) {
1554715568
this.late_sdp = false;
1554815569
if (contentType !== 'application/sdp') {
@@ -15642,19 +15663,40 @@ function receiveUpdate(request) {
1564215663
debug('receiveUpdate()');
1564315664

1564415665
var
15645-
sdp, idx, direction,
15666+
sdp, idx, direction, m,
1564615667
self = this,
1564715668
contentType = request.getHeader('Content-Type'),
15648-
m,
15669+
rejected = false,
1564915670
hold = false,
1565015671
data = {
1565115672
request: request,
15652-
callback: undefined
15673+
callback: undefined,
15674+
reject: reject
1565315675
};
1565415676

15677+
function reject(options) {
15678+
options = options || {};
15679+
rejected = true;
15680+
15681+
var
15682+
status_code = options.status_code || 403,
15683+
reason_phrase = options.reason_phrase || '',
15684+
extraHeaders = options.extraHeaders && options.extraHeaders.slice() || [];
15685+
15686+
if (status_code < 300 || status_code >= 700) {
15687+
throw new TypeError('Invalid status_code: '+ status_code);
15688+
}
15689+
15690+
request.reply(status_code, reason_phrase, extraHeaders);
15691+
}
15692+
1565515693
// Emit 'update'.
1565615694
this.emit('update', data);
1565715695

15696+
if (rejected) {
15697+
return;
15698+
}
15699+
1565815700
if (! request.body) {
1565915701
var extraHeaders = [];
1566015702
handleSessionTimersInIncomingRequest.call(this, request, extraHeaders);
@@ -25072,7 +25114,7 @@ module.exports={
2507225114
"name": "jssip",
2507325115
"title": "JsSIP",
2507425116
"description": "the Javascript SIP library",
25075-
"version": "0.7.3",
25117+
"version": "0.7.4",
2507625118
"homepage": "http://jssip.net",
2507725119
"author": "José Luis Millán <[email protected]> (https://github.com/jmillan)",
2507825120
"contributors": [

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "jssip",
33
"title": "JsSIP",
44
"description": "the Javascript SIP library",
5-
"version": "0.7.3",
5+
"version": "0.7.4",
66
"homepage": "http://jssip.net",
77
"author": "José Luis Millán <[email protected]> (https://github.com/jmillan)",
88
"contributors": [

0 commit comments

Comments
 (0)