#include <RequestLinter.h>

..) that should not be presented to the request target.
The logic of this plugin is only executed when bSpiralingRequest == false so that the unwanted elements only get removed after the request has fininshed spiraling and is about to be sent towards the request target.
The first application of this plugin is remove the P-Asserted-Identity to address XECS-2233 (Caller ID is not displayed on the Gateway)
Public Member Functions | |
| virtual | ~RequestLinter () |
| destructor | |
| virtual AuthResult | authorizeAndModify (const UtlString &id, const Url &requestUri, RouteState &routeState, const UtlString &method, AuthResult priorResult, SipMessage &request, bool bSpiralingRequest, UtlString &reason) |
| The RequestLinter plug-in always returns AuthResult::CONTINUE. | |
| virtual void | readConfig (OsConfigDb &configDb) |
| Read (or re-read) the authorization rules. | |
| virtual void | announceAssociatedSipRouter (SipRouter *sipRouter) |
| Used to announce the SIP Router instance that is logically associated with this Auth Plugin. Plugins that need to interact with their associated SIP Router can override this method and save the passed pointer for later use. | |
Private Member Functions | |
| bool | removeOurPAssertedIdentityHeader (SipMessage &request) |
| Removes P-Asserted-Identity headers matching our domain. | |
| RequestLinter (const UtlString &instanceName) | |
| Constructor - private so that only the factory can call it. | |
Private Attributes | |
| SipRouter * | mpSipRouter |
| stores pointer to owning SipRouter. | |
Friends | |
| class | RequestLinterTest |
| AuthPlugin * | getAuthPlugin (const UtlString &name) |
| Factory used by PluginHooks to dynamically link the plugin instance. | |
| ~RequestLinter | ( | ) | [virtual] |
destructor
| RequestLinter | ( | const UtlString & | instanceName | ) | [private] |
Constructor - private so that only the factory can call it.
constructor
| instanceName | the configured name for this plugin instance |
| AuthPlugin::AuthResult authorizeAndModify | ( | const UtlString & | id, | |
| const Url & | requestUri, | |||
| RouteState & | routeState, | |||
| const UtlString & | method, | |||
| AuthResult | priorResult, | |||
| SipMessage & | request, | |||
| bool | bSpiralingRequest, | |||
| UtlString & | reason | |||
| ) | [virtual] |
The RequestLinter plug-in always returns AuthResult::CONTINUE.
| id | The authenticated identity of the request originator, if any (the null string if not). This is in the form of a SIP uri identity value as used in the credentials database (user) without the scheme or any parameters. |
| requestUri | parsed target Uri |
| routeState | the state for this request. |
| method | the request method |
| priorResult | results from earlier plugins. |
| request | see AuthPlugin regarding modifying |
| bSpiralingRequest | request spiraling indication |
| reason | rejection reason |
Implements AuthPlugin.
| void readConfig | ( | OsConfigDb & | configDb | ) | [virtual] |
Read (or re-read) the authorization rules.
| configDb | a subhash of the individual configuration parameters for this instance of this plugin. |
Implements AuthPlugin.
| void announceAssociatedSipRouter | ( | SipRouter * | sipRouter | ) | [virtual] |
Used to announce the SIP Router instance that is logically associated with this Auth Plugin. Plugins that need to interact with their associated SIP Router can override this method and save the passed pointer for later use.
Reimplemented from AuthPlugin.
| bool removeOurPAssertedIdentityHeader | ( | SipMessage & | request | ) | [private] |
Removes P-Asserted-Identity headers matching our domain.
friend class RequestLinterTest [friend] |
| AuthPlugin* getAuthPlugin | ( | const UtlString & | name | ) | [friend] |
Factory used by PluginHooks to dynamically link the plugin instance.
SipRouter* mpSipRouter [private] |
stores pointer to owning SipRouter.