LDAP Gateway Properties
You configure the following LDAP Gateway
properties in the ldap-gateway.yaml
file.
Property | Description |
---|---|
spring.activemq.broker-url | The URL of ActiveMQ. |
spring.activemq.user | The user for the ActiveMQ connection. |
spring.activemq.password | The ActiveMQ user's password. |
ldap.url | The URL of the LDAP pod to which you want to send requests. LDAP Gateway connects to each
LDAP cluster and LDAP pod using a single URL. Load balancing and failover is performed using a network IP alias through this URL. Configure a single URL as follows:
ldap://ldaphost:port Where
For information about setting up a mirror mode or forest configuration for an LDAP pod, see the documentation for that specific LDAP pod type. If LDAP Gateway fails to make a connection with the LDAP pod, it returns an error message to the Charging Server. |
ldap.base | The base to use for LDAP searches. |
ldap.search.filter | The search filter to use. If the Charging Server request does not contain a filter, then the
one defined at the LDAP level is used. Filters can only be set in a Charging Server request, but this is optional. Filters are not set in the response. |
ldap.searchSubTree | True or false. |
ldap.attributes | List of attributes to return from the LDAP pod. |
ldap.user | The LDAP Gateway user for the ActiveMQ connection. |
ldap.pass | The password of the LDAP Gateway user. |
ldap.gateway.service.subDomains | Defines the available sub-domains. For example:
|
ldap.gateway.service.subDomains.name | The name of the sub-domain for sub-domain routing. If sub-domain routing is not used, there is only one named sub-domain. |
ldap.gateway.service.subDomains.inboundQueueName | The name of the ActiveMQ request queue. Defaults to ldap_request_queue for the first sub-domain in the subDomains list. |
ldap.gateway.service.subDomains.outboundQueueName | The name of the ActiveMQ response queue. Defaults to ldap_response_queue for the first sub-domain in the subDomains list. |
ldap.gateway.service.gatewayProxy.host | The host name of the Gateway Proxy host. |
ldap.gateway.service.gatewayProxy.port | The port number of the Gateway Proxy port. |
ldap.deref_aliases | Defines how aliases are handled when performing the LDAP request. Valid values are:
|
ldap.search_controls | Defines the search control value to use when performing the LDAP request:
|
The following gateway properties define mappings between the Charging Server and the LDAP pod for input and output parameters. | |
gateway.have_response_extension | Indicates whether to use a response extension MDC:
|
gateway.is_version_pinning | Indicates whether to use version pinning:
|
gateway.reqMap | Maps incoming request parameters from the Charging Server to LDAP attributes. For
example: Where:
ldap.search.filter property is
(|(&(objectClass=fmsmapping)(cellid=${0}))(&(objectClass=subscriber)(msisdn=${1}))) , LDAP Gateway replaces the 0 in the LDAP query with the cellid value received
from the Charging Server. For a cellid of 1234, the resulting search filter is:
(|(&(objectClass=fmsmapping)(cellid=${1234}))(&(objectClass=subscriber)(msisdn=${1}))) |
gateway.rspMap | Maps LDAP response attributes to the custom/base MDC response to the Charging Server. For
example: Where:
postcode value received from LDAP
pod to the Postcode attribute of the Charging Server response object. |
gateway.response_extension_name | If needed, specifies the name of the custom response extension MDC to use. |
gateway.destinationServerMap | To send LDAP requests to specific URLs, configures the LDAP pods to use for specific requests using the following
format: Where:
Note: Do not configure this list if you are using only one LDAP pod for LDAP requests or if the LDAP service can send requests to any available LDAP
pod. For information about configuring LDAP call out actions, see the discussion about PreRating in My MATRIXX Help. |
gateway.concurrency | A numeric string range in the format start_number-end_number for the number of application threads to read from the Charging Server pool, for example: 3–10. LDAP Gateway allocates the start_number of application threads to read from the Charging Server pool and increases the number of threads according to performance requirements until it reaches the end_number. |
ldap-gateway.yaml
file shows the format and sample properties for LDAP Gateway:server:
port: 8707
ldap:
attributes: localityName
base: dc=sdp,dc=com
pass: secret
request_queue: ldap_request_queue
response_rows: 100
response_queue: ldap_response_queue
search_filter: (&(objectclass=person)(mobile=${0}))
search_sub_tree: true
timeout_millis: 30000
url: ldap://localhost:3890
user: uid=admin,ou=system
gateway:
service:
subDomains:
- name: subDomain1
inboundQueueName: ldap_request_queue
outboundQueueName: ldap_response_queue
- name: subDomain2
inboundQueueName: inbound_two
outboundQueueName: outbound_two
- name: subDomain3
inboundQueueName: inbound_three
outboundQueueName: inbound_three
gatewayProxy:
host: localhost
port: 4080
deref_aliases: never
search_controls: 2
logging:
level:
com:
matrixx:
gw: DEBUG
pattern:
console: '%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n'
file: '%d %p %c{1.} [%t] %m%n'
management:
endpoints:
enabledByDefault: true
web:
exposure:
include: '*'
endpoint:
info:
enabled: true
health:
showDetails: always
enabled: true
metrics:
enabled: true
camelroutes:
enabled: true
readOnly: true
prometheus:
enabled: true
loggers:
enabled: true
metrics:
tags:
application: ldap-gateway
gateway:
attributes: CommunityId-List
filter: (|(&(objectClass=fmsmapping)(cellid=${0}))(&(objectClass=subscriber)(msisdn=${1})))
have_response_extension: true
is_version_pinning: false
reqMap:
- location: 0
paramLdap: cellid
paramMdc: Cellid
- location: 1
paramLdap: msisdn
paramMdc: Msisdn
rspMap:
- paramLdap: postcode
paramMdc: Postcode
- paramLdap: providerName
paramMdc: ProviderName
response_extension_name: MyMtxLdapResponseExtensionData
destinationServerMap:
- paramMdc: FINANCE
paramLdap: ldap://129.1.1.1:10389
- paramMdc: GENERAL
paramLdap: ldap://129.1.1.2:10389
concurrency: 3-10
spring:
activemq:
broker-url: tcp://localhost:61616
password: admin
user: admin
pool:
enabled: true
max-connections: 50
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
main:
allow-bean-definition-overriding: true
version:
extensionVersion: 5210
schemaVersion: 5210