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
This commit is contained in:
Matthew Jordan
2013-03-05 13:14:43 +00:00
parent 469ca1c71d
commit 8d5c36c9bb
10 changed files with 316 additions and 39 deletions

View File

@@ -112,7 +112,7 @@ objectIdentifier AstAccountSetVar AstAttrType:66
objectIdentifier AstAccountAllowOverlap AstAttrType:67
objectIdentifier AstAccountVideoSupport AstAttrType:68
objectIdentifier AstAccountIgnoreSDPVersion AstAttrType:69
objectIdentifier AstAccountPathSupport AstAttrType:70
#############################################################################
# Object Class OIDs
@@ -640,6 +640,13 @@ attributetype ( AstAccountIgnoreSDPVersion
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
attributetype ( AstAccountPathSupport
NAME 'AstAccountPathSupport'
DESC 'Asterisk account support Path RFC 3327'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
#############################################################################
# Object Class definitions
#
@@ -762,7 +769,8 @@ objectclass ( AsteriskSIPUser
AstAccountTransport $
AstAccountType $
AstAccountUserAgent $
AstAccountVideoSupport
AstAccountVideoSupport $
AstAccountPathSupport
)
)