mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 10:06:24 +05:00
Doc - diameter field path and type
This commit is contained in:
@@ -183,16 +183,16 @@ Config params
|
||||
Most of the parameters are explained in :ref:`configuration <engine_configuration>`, hence we mention here only the ones where additional info is necessary or there will be particular implementation for *DiameterAgent*.
|
||||
|
||||
|
||||
listen_net
|
||||
**listen_net**
|
||||
The network the *DiameterAgent* will bind to. CGRateS supports both **tcp** and **sctp** specified in Diameter_ standard.
|
||||
|
||||
concurrent_requests
|
||||
**concurrent_requests**
|
||||
The maximum number of active requests processed at one time by the *DiameterAgent*. When this number is reached, new inbound requests will be rejected with *DiameterError* code until the concurrent number drops bellow again. The default value of *-1* imposes no limits.
|
||||
|
||||
asr_template
|
||||
**asr_template**
|
||||
The template (out of templates config section) used to build the AbortSession message. If not specified the ASR message is never sent out.
|
||||
|
||||
templates
|
||||
**templates**
|
||||
Group fields based on their usability. Can be used in both processor templates as well as hardcoded within CGRateS functionality (ie *\*err* or *\*asr*). The IDs are unique, defining the same id in multiple configuration places/files will result into overwrite.
|
||||
|
||||
*\*err*: is a hardcoded template used when *DiameterAgent* cannot parse the incoming message. Aside from logging the error via internal logger the message defined via *\*err* template will be sent out.
|
||||
@@ -201,7 +201,7 @@ templates
|
||||
|
||||
*\*cca*: defined for convenience to follow the standard for the fields used in *Diameter* *CCA* messages.
|
||||
|
||||
request_processors
|
||||
**request_processors**
|
||||
List of processor profiles applied on request/replies.
|
||||
|
||||
Once a request processor will be matched (it's *filters* should match), the *request_fields* will be used to craft a request object and the flags will decide what sort of procesing logic will be applied to the crafted request.
|
||||
@@ -212,8 +212,8 @@ request_processors
|
||||
Once the *reply_fields* are finished, the object converted and returned to the *DiameterClient*, unless *continue* flag is enabled in the processor, which makes the next request processor to be considered.
|
||||
|
||||
|
||||
filters
|
||||
Will specify a list of filter rules which need to match in order for the processor to run. These are also available within fields.
|
||||
processor or field **filters**
|
||||
Will specify a list of filter rules which need to match in order for the processor to run (or field to be applied).
|
||||
|
||||
For the dynamic content (prefixed with *~*) following special variables are available:
|
||||
|
||||
@@ -246,7 +246,7 @@ filters
|
||||
* **\*cgrareq**
|
||||
Active request in relation to CGRateS side. It can be used in both *request_fields*, referring to CGRRequest object being built, or in *reply_fields*, referring to CGRReply object.
|
||||
|
||||
flags
|
||||
processor **flags**
|
||||
Special tags enforcing the actions/verbs done on a request. There are two types of flags: **main** and **auxiliary**.
|
||||
|
||||
There can be any number of flags or combination of those specified in the list however the flags have priority one against another and only some simultaneous combinations of *main* flags are possible.
|
||||
@@ -301,4 +301,50 @@ flags
|
||||
Build a CDR out of the request on CGRateS side. Can be used simultaneously with other flags (except *\*dry_run)
|
||||
|
||||
|
||||
field **path**
|
||||
Specifies the path where the value will be written. Possible values:
|
||||
|
||||
* **\*cgreq**
|
||||
Write the value in the request object which will be sent to CGRateS side.
|
||||
|
||||
* **\*req**
|
||||
Write the value to request built by *DiameterAgent* to be sent out on *Diameter* side.
|
||||
|
||||
* **\*rep**
|
||||
Write the value to reply going out on *Diameter* side.
|
||||
|
||||
field **type**
|
||||
Specifies the logic type to be used when writing the value of the field. Possible values:
|
||||
|
||||
* **\*none**
|
||||
Pass
|
||||
|
||||
* **\*filler**
|
||||
Fills the values with an empty string
|
||||
|
||||
* **\*constant**
|
||||
Writes out a constant
|
||||
|
||||
* **\*remote_host**
|
||||
Writes out the Address of the remote *DiameterClient* sending us the request
|
||||
|
||||
* **\*variable**
|
||||
Writes out the variable value, overwriting previous one set
|
||||
|
||||
* **\*composed**
|
||||
Writes out the variable value, postpending to previous value set
|
||||
|
||||
* **\*usage_difference**
|
||||
Calculates the usage difference between two arguments passed in the *value*. Requires 2 arguments: *$stopTime;$startTime*
|
||||
|
||||
* **\*cc_usage**
|
||||
Calculates the usage out of *CallControl* message. Requires 3 arguments: *$reqNumber;$usedCCTime;$debitInterval*
|
||||
|
||||
* **\*sum**
|
||||
Calculates the sum of all arguments passed within *value*. It supports summing up duration, time, float, int autodetecting them in this order.
|
||||
|
||||
* **\*difference**
|
||||
Calculates the difference between all arguments passed within *value*. Possible value types are (in this order): duration, time, float, int.
|
||||
|
||||
* **\*value_exponent**
|
||||
Calculates the exponent of a value. It requires two values: *$val;$exp*
|
||||
Reference in New Issue
Block a user