diff options
author | Matthew Jordan <mjordan@digium.com> | 2013-03-05 13:14:43 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2013-03-05 13:14:43 +0000 |
commit | 8d5c36c9bb91af574fbe0dd261f3b6601304b263 (patch) | |
tree | fe313093b94b5589ef3e8eed753d1b85517265e0 /contrib/realtime | |
parent | 469ca1c71de62cd0abec830179d5ab1faa5f7837 (diff) |
Add RFC 3327 Path header support to chan_sip
This patch adds support for RFC 3327 "Path" headers. This can be enabled in
sip.conf using the 'supportpath' setting, either on a global basis or on a
peer basis. This setting enables Asterisk to route outgoing out-of-dialog
requests via a set of proxies by using a pre-loaded route-set defined by the
Path headers in the REGISTER request. This patch also adds Realtime support
for dynamically updating the Path information for a peer.
A huge thank-you to Klaus Darillion and Olle E Johansson for their efforts
in writing this patch.
Review: https://reviewboard.asterisk.org/r/2235/
Review: https://reviewboard.asterisk.org/r/991/
(closes issue ASTERISK-16884)
Reported by: klaus3000
Tested by: klaus3000, oej, mjordan
patches:
path-1.8.0-patch.txt uploaded by klaus3000 (License 5054)
oolong-path-support-trunk in team branch by oej (License 5267)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'contrib/realtime')
-rw-r--r-- | contrib/realtime/mysql/sippeers.sql | 2 | ||||
-rw-r--r-- | contrib/realtime/postgresql/realtime.sql | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/contrib/realtime/mysql/sippeers.sql b/contrib/realtime/mysql/sippeers.sql index e0dbe1a43..1b01b2809 100644 --- a/contrib/realtime/mysql/sippeers.sql +++ b/contrib/realtime/mysql/sippeers.sql @@ -79,6 +79,7 @@ CREATE TABLE IF NOT EXISTS `sippeers` ( `callingpres` enum('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib') DEFAULT NULL, `mohinterpret` varchar(40) DEFAULT NULL, `mohsuggest` varchar(40) DEFAULT NULL, + `path` varchar(256) DEFAULT NULL, `parkinglot` varchar(40) DEFAULT NULL, `hasvoicemail` enum('yes','no') DEFAULT NULL, `subscribemwi` enum('yes','no') DEFAULT NULL, @@ -90,6 +91,7 @@ CREATE TABLE IF NOT EXISTS `sippeers` ( `ignoresdpversion` enum('yes','no') DEFAULT NULL, `allowtransfer` enum('yes','no') DEFAULT NULL, `dynamic` enum('yes','no') DEFAULT NULL, + `supportpath` enum('yes','no') DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `ipaddr` (`ipaddr`,`port`), diff --git a/contrib/realtime/postgresql/realtime.sql b/contrib/realtime/postgresql/realtime.sql index cba8d3895..96cbb16c2 100644 --- a/contrib/realtime/postgresql/realtime.sql +++ b/contrib/realtime/postgresql/realtime.sql @@ -38,6 +38,7 @@ amaflags character varying(7), callgroup character varying(10), callerid character varying(80), canreinvite character varying(3) DEFAULT 'yes', +supportpath character varying(3) DEFAULT 'no', context character varying(80), defaultip character varying(15), dtmfmode character varying(7), @@ -70,6 +71,7 @@ cancallforward character varying(3) DEFAULT 'yes', lastms integer DEFAULT 0 NOT NULL, defaultuser character varying(80), fullcontact character varying(80), +path character varying(256), regserver character varying(30), useragent character varying(40), callbackextension character varying(40) |