diff --git a/lib/call-session.js b/lib/call-session.js index 0ad7efe..ca108ea 100644 --- a/lib/call-session.js +++ b/lib/call-session.js @@ -780,12 +780,19 @@ class CallSession extends Emitter { async _onRefer(dlg, req, res) { /* REFER coming in from a sip device, forward to feature server */ try { + const customHeaders = Object.keys(req.headers) + .filter((h) => h.toLowerCase().startsWith('x-')) + .reduce((acc, h) => { + acc[h] = req.get(h); + return acc; + }, {}); const response = await dlg.other.request({ method: 'REFER', headers: { 'Refer-To': req.get('Refer-To'), 'Referred-By': req.get('Referred-By'), - 'User-Agent': req.get('User-Agent') + 'User-Agent': req.get('User-Agent'), + ...customHeaders } }); res.send(response.status, response.reason);