Skip to content

Commit

Permalink
fix race condition #177
Browse files Browse the repository at this point in the history
  • Loading branch information
davehorton committed Nov 12, 2024
1 parent e6d41de commit 82e80a6
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
15 changes: 9 additions & 6 deletions lib/call-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -428,12 +428,15 @@ class CallSession extends Emitter {

if (process.env.JAMBONES_HOSTING || trackingOn) {
const {writeCallCount, writeCallCountSP, writeCallCountApp} = this.req.srf.locals;
await nudgeCallCounts(this.logger, {
service_provider_sid: this.service_provider_sid,
account_sid: this.account_sid,
application_sid: this.application_sid
}, this.decrKey, {writeCallCountSP, writeCallCount, writeCallCountApp})
.catch((err) => this.logger.error(err, 'Error decrementing call counts'));
if (!this.req.locals.callCountNudged) {
this.req.locals.callCountNudged = true;
await nudgeCallCounts(this.logger, {
service_provider_sid: this.service_provider_sid,
account_sid: this.account_sid,
application_sid: this.application_sid
}, this.decrKey, {writeCallCountSP, writeCallCount, writeCallCountApp})
.catch((err) => this.logger.error(err, 'Error decrementing call counts'));
}
}

/* write cdr for connected call */
Expand Down
3 changes: 2 additions & 1 deletion lib/middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ module.exports = function(srf, logger) {

/* decrement count if INVITE is later rejected */
res.once('end', async({status}) => {
if (status > 200) {
if (status > 200 && !req.locals.callCountNudged) {
req.locals.callCountNudged = true;
nudgeCallCounts(logger, {
service_provider_sid,
account_sid,
Expand Down
2 changes: 1 addition & 1 deletion test/docker-compose-testbed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ services:
sbc-inbound:
ipv4_address: 172.38.0.2
sbc:
image: drachtio/drachtio-server:latest
image: drachtio/drachtio-server:0.8.26
command: drachtio --contact "sip:*;transport=udp" --loglevel debug --sofia-loglevel 9
ports:
- "9060:9022/tcp"
Expand Down

0 comments on commit 82e80a6

Please sign in to comment.