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