YateDRA Configuration

From YateBTS
Jump to: navigation, search

Configurable options

Required

  • DRA routing table
  • Diameter connection data

Optional

YateDRA configuration

yatedra.conf:

; All parameters are applied on reload unless otherwise specified

[general]

; check_proxiable: boolean: Enable checking the proxiable flag in requests
; This parameter may be overridden in node section
; If enabled non proxiable requests will be rejected
; Defaults to on
;check_proxiable=on

; allow_empty_route_table: boolean: Enable relay if routing table is missing or not set
; This parameter may be overridden in node section
; If enabled and there is no routing table this is an indication for the node
;  to relay requests to peers
; This parameter is ignored if routing table is set to invalid value
;allow_empty_route_table=no

; route_record: boolean: Enable adding of Route-Record AVP to routed requests
; This parameter may be overridden in node section
; Defaults to on
;route_record=on

; warn_unknown_node_threshold: integer: Threshold to warn when handling a request
;  received by an unknown (not configured) node
; Set it to 0 to disable this warning
;warn_unknown_node_threshold=100

; proxy_info: boolean: Enable adding Proxy-Info AVP to routed requests
; This parameter is used for testing purposes only
; This parameter may be overridden in node section
; Defaults to off
;proxy_info=off

; priority: integer: 'diameter' message handler priority
; This parameter is not applied on reload
; The handler priority MUST be greater than diameter module handler priority
; Defaults to 80
;priority=80

; print_routes: boolean: Print routes when loaded
; Defaults to yes
;print_routes=yes

; print_routes_extended: boolean: Print extended routes information when loaded
; Defaults to no
; If disabled only matching and destination related parameters will be printed
; If enabled all route parameters will be printed
;print_routes_extended=no


;[node nodename]
; Setup a specific node
; nodename MUST have the format realm/hostname

; route_table: string: Routing table to load
; The parameter must contain a valid JSON string describing the routing table
; An '@' character may be added at start to load it from file
; NOTE: The module uses extended regexp expressions
; Examples:
;   route_table=@${configpath}/node_dra.json
;   route_table=[{realm:"example.com", routes:[{appid:"^16777252(/.*)?", peer:"eir.example.com"}]}]
;route_table=

Example

[node example.com/dra.example.com]
route_table=@${configpath}/node_dra.json

Diameter configuration

  • Enable relayforceappcheck for codec options: this will instruct the module to check if the application IP AVP matches the request application ID. If the application_id is not the same, the Yate message parameter will not be set. This may avoid routing invalid requests.
  • Configure the nodes as 'relay'. The module must send a diameter message for all applications.
  • You must disable the connections'/nodes' default routing: avoid using an alternate logic to forward/relay/proxy requests.

accfile.conf

 [hss1]
; Configure connection to a Diameter HSS
enabled=yes
protocol=diameter
local_node=example.com/dra.example.com
remote_host=hss.example.com
transport=sctp
role=relay
default_route=-1
; Optional peer ip address(es) / port to connect to
address=
port=
; Optional local address(es) / port to bind on connect
localip=
localport=

ydiameter.conf

[general]
codec_options=relayforceappcheck

[diam_accept 1]
node=example.com/dra.example.com
role=relay
default_route=-1