From 556907dce9846668db3a34b315dd558ea3b04b60 Mon Sep 17 00:00:00 2001 From: Jeremy Jackson Date: Thu, 8 Nov 2018 17:15:25 -0700 Subject: [PATCH 1/4] Choose correct port for responding to UDP. Chooses the correct port to respond to on the remote host per RFC's 3261 and 3581. Resolves #134. --- sip.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sip.js b/sip.js index 5f1ff94..86e9dbf 100644 --- a/sip.js +++ b/sip.js @@ -769,7 +769,13 @@ function makeUdpTransport(options, callback) { msg.headers.via[0].params.rport = rinfo.port; } - callback(msg, {protocol: 'UDP', address: rinfo.address, port: rinfo.port, local: {address: address, port: port}}); + var targetPort = 5060; + if(msg.headers.via[0].params.hasOwnProperty('sent-by')) + targetPort = msg.headers.via[0].params.hasOwnProperty('sent-by'); + if(msg.headers.via[0].params.hasOwnProperty('rport')) + targetPort = msg.headers.via[0].params.rport; + + callback(msg, {protocol: 'UDP', address: rinfo.address, port: targetPort, local: {address: address, port: port}}); } } From d33692af632c173205f286f679142775ec286d8b Mon Sep 17 00:00:00 2001 From: Jeremy Jackson Date: Tue, 13 Nov 2018 09:35:42 -0700 Subject: [PATCH 2/4] More visibility on what and when the target port is defined and used. --- sip.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sip.js b/sip.js index 86e9dbf..bd46c48 100644 --- a/sip.js +++ b/sip.js @@ -775,6 +775,8 @@ function makeUdpTransport(options, callback) { if(msg.headers.via[0].params.hasOwnProperty('rport')) targetPort = msg.headers.via[0].params.rport; + console.log(`targetPort: ${targetPort}`); + callback(msg, {protocol: 'UDP', address: rinfo.address, port: targetPort, local: {address: address, port: port}}); } } From 1e709dacc0be821fcef4220641b554080ab5071d Mon Sep 17 00:00:00 2001 From: Jeremy Jackson Date: Tue, 13 Nov 2018 10:54:17 -0700 Subject: [PATCH 3/4] Updated gitignore. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3c3629e..1bd7226 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +*.swp From 8ae14a9cb09852e2e24af1acface8394da833229 Mon Sep 17 00:00:00 2001 From: Jeremy Jackson Date: Tue, 13 Nov 2018 11:38:27 -0700 Subject: [PATCH 4/4] Removed unnecessary console.log(). --- sip.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/sip.js b/sip.js index bd46c48..86e9dbf 100644 --- a/sip.js +++ b/sip.js @@ -775,8 +775,6 @@ function makeUdpTransport(options, callback) { if(msg.headers.via[0].params.hasOwnProperty('rport')) targetPort = msg.headers.via[0].params.rport; - console.log(`targetPort: ${targetPort}`); - callback(msg, {protocol: 'UDP', address: rinfo.address, port: targetPort, local: {address: address, port: port}}); } }