Adding cgr_host in FreeSWITCH events to solve CGRID when traffic flows over 2 different interfaces

This commit is contained in:
DanB
2018-02-18 09:48:01 +01:00
parent f1e3e5822d
commit a1cacadcc4
3 changed files with 4 additions and 2 deletions

View File

@@ -41,6 +41,7 @@ const (
REQTYPE = "variable_" + utils.CGR_REQTYPE //prepaid or postpaid
CATEGORY = "variable_" + utils.CGR_CATEGORY
VAR_CGR_SUPPLIER = "variable_" + utils.CGR_SUPPLIER
VarCGRHost = "variable_" + utils.CGRHost
UUID = "Unique-ID" // -Unique ID for this call leg
CSTMID = "variable_" + utils.CGR_TENANT
CALL_DEST_NR = "Caller-Destination-Number"
@@ -258,7 +259,7 @@ func (fsev FSEvent) GetOriginatorIP(fieldName string) string {
if strings.HasPrefix(fieldName, utils.STATIC_VALUE_PREFIX) { // Static value
return fieldName[len(utils.STATIC_VALUE_PREFIX):]
}
return utils.FirstNonEmpty(fsev[fieldName], fsev[FS_IPv4])
return utils.FirstNonEmpty(fsev[fieldName], fsev[VarCGRHost], fsev[FS_IPv4])
}
func (fsev FSEvent) GetExtraFields() map[string]string {

View File

@@ -139,7 +139,7 @@ func (fsCdr FSCdr) AsCDR(timezone string) *CDR {
storCdr.CGRID = fsCdr.getCGRID()
storCdr.ToR = utils.VOICE
storCdr.OriginID = fsCdr.vars[FS_UUID]
storCdr.OriginHost = fsCdr.vars[FS_IP]
storCdr.OriginHost = utils.FirstNonEmpty(fsCdr.vars[utils.CGRHost], fsCdr.vars[FS_IP])
storCdr.Source = FS_CDR_SOURCE
storCdr.RequestType = utils.FirstNonEmpty(fsCdr.vars[utils.CGR_REQTYPE], fsCdr.cgrCfg.DefaultReqType)
storCdr.Tenant = utils.FirstNonEmpty(fsCdr.vars[utils.CGR_TENANT], fsCdr.cgrCfg.DefaultTenant)

View File

@@ -278,6 +278,7 @@ const (
CGR_COMPUTELCR = "cgr_computelcr"
CGR_SUPPLIERS = "cgr_suppliers"
CGRFlags = "cgr_flags"
CGRHost = "cgr_host"
KAM_FLATSTORE = "kamailio_flatstore"
OSIPS_FLATSTORE = "opensips_flatstore"
MAX_DEBIT_CACHE_PREFIX = "MAX_DEBIT_"