diff --git a/src/SIPMessage.js b/src/SIPMessage.js index 8f2b6f707..20898144d 100644 --- a/src/SIPMessage.js +++ b/src/SIPMessage.js @@ -47,7 +47,7 @@ JsSIP.OutgoingRequest = function(method, ruri, ua, params, extraHeaders, body) { //ROUTE if (params.route_set) { this.setHeader('route', params.route_set); - } else { + } else if (ua.configuration.use_preloaded_route){ this.setHeader('route', ua.transport.server.sip_uri); } diff --git a/src/UA.js b/src/UA.js index ae2ba4bd3..841f1a6c7 100644 --- a/src/UA.js +++ b/src/UA.js @@ -627,6 +627,8 @@ JsSIP.UA.prototype.loadConfig = function(configuration) { connection_recovery_min_interval: 2, connection_recovery_max_interval: 30, + use_preloaded_route: false, + // Session parameters no_answer_timeout: 60, stun_server: 'stun.l.google.com:19302', @@ -778,6 +780,8 @@ JsSIP.UA.configuration_skeleton = (function() { "connection_recovery_min_interval", "connection_recovery_max_interval", + "use_preloaded_route", + "register_min_expires", // Mandatory user configurable parameters @@ -956,6 +960,13 @@ JsSIP.UA.configuration_check = { return true; } }, + use_preloaded_route: function(use_preloaded_route) { + if(typeof use_preloaded_route !== 'boolean') { + return false; + } else { + return true; + } + }, hack_via_tcp: function(hack_via_tcp) { if(typeof hack_via_tcp !== 'boolean') { return false;