diff --git a/.gitignore b/.gitignore index 3c3629e..1bd7226 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +*.swp 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}}); } }