diff --git a/lib/tasks/dial.js b/lib/tasks/dial.js index d14397fe..d9ca0963 100644 --- a/lib/tasks/dial.js +++ b/lib/tasks/dial.js @@ -340,15 +340,17 @@ class TaskDial extends Task { const to = parseUri(req.getParsedHeader('Refer-To').uri); const by = parseUri(req.getParsedHeader('Referred-By').uri); + const referredBy = req.get('Referred-By'); + const userAgent = req.get('User-Agent'); this.logger.info({to}, 'refer to parsed'); const json = await cs.requestor.request('verb:hook', this.referHook, { ...(callInfo.toJSON()), refer_details: { sip_refer_to: req.get('Refer-To'), - sip_referred_by: req.get('Referred-By'), - sip_user_agent: req.get('User-Agent'), refer_to_user: to.scheme === 'tel' ? to.number : to.user, - referred_by_user: by.scheme === 'tel' ? by.number : by.user, + ...(referredBy && {sip_referred_by: referredBy}), + ...(userAgent && {sip_user_agent: userAgent}), + ...(by && {referred_by_user: by.scheme === 'tel' ? by.number : by.user}), referring_call_sid, referred_call_sid } @@ -379,6 +381,7 @@ class TaskDial extends Task { res.send(202); this.logger.info('DialTask:handleRefer - sent 202 Accepted'); } catch (err) { + this.logger.info({err}, 'DialTask:handleRefer - error processing incoming REFER'); res.send(err.statusCode || 501); } }