Adding extra fields in events translated inside FreeSWITCH Agent

This commit is contained in:
DanB
2018-02-17 16:36:34 +01:00
parent a49621e0c1
commit f1e3e5822d
2 changed files with 3 additions and 41 deletions

View File

@@ -25,7 +25,6 @@ import (
"time"
"github.com/cgrates/cgrates/config"
"github.com/cgrates/cgrates/engine"
"github.com/cgrates/cgrates/sessions"
"github.com/cgrates/cgrates/utils"
"github.com/cgrates/fsock"
@@ -324,27 +323,6 @@ func (fsev FSEvent) ParseEventValue(rsrFld *utils.RSRField, timezone string) str
}
}
// AsCDR converts FSEvent into CDR
func (fsev FSEvent) AsCDR(timezone string) *engine.CDR {
storCdr := new(engine.CDR)
storCdr.ToR = utils.VOICE
storCdr.OriginID = fsev.GetUUID()
storCdr.OriginHost = fsev.GetOriginatorIP(utils.META_DEFAULT)
storCdr.Source = "FS_" + fsev.GetName()
storCdr.RequestType = fsev.GetReqType(utils.META_DEFAULT)
storCdr.Tenant = fsev.GetTenant(utils.META_DEFAULT)
storCdr.Category = fsev.GetCategory(utils.META_DEFAULT)
storCdr.Account = fsev.GetAccount(utils.META_DEFAULT)
storCdr.Subject = fsev.GetSubject(utils.META_DEFAULT)
storCdr.Destination = fsev.GetDestination(utils.META_DEFAULT)
storCdr.SetupTime, _ = fsev.GetSetupTime(utils.META_DEFAULT, timezone)
storCdr.AnswerTime, _ = fsev.GetAnswerTime(utils.META_DEFAULT, timezone)
storCdr.Usage, _ = fsev.GetDuration(utils.META_DEFAULT)
storCdr.ExtraFields = fsev.GetExtraFields()
storCdr.Cost = -1
return storCdr
}
// AsCGREvent converts FSEvent into CGREvent
func (fsev FSEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err error) {
sTime, err := fsev.GetSetupTime(utils.META_DEFAULT, timezone)
@@ -363,6 +341,9 @@ func (fsev FSEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err erro
// Used with RLs
func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]interface{} {
mp := make(map[string]interface{})
for fld, val := range fsev.GetExtraFields() {
mp[fld] = val
}
mp[utils.TOR] = utils.VOICE
mp[utils.OriginID] = fsev.GetUUID()
mp[utils.OriginHost] = fsev.GetOriginatorIP(utils.META_DEFAULT)

View File

@@ -23,7 +23,6 @@ import (
"time"
"github.com/cgrates/cgrates/config"
"github.com/cgrates/cgrates/engine"
"github.com/cgrates/cgrates/sessions"
"github.com/cgrates/cgrates/utils"
)
@@ -557,24 +556,6 @@ func TestParseEventValue(t *testing.T) {
}
}
func TestFsEvAsCDR(t *testing.T) {
cfg, _ := config.NewDefaultCGRConfig()
config.SetCgrConfig(cfg)
ev := NewFSEvent(hangupEv)
setupTime, _ := utils.ParseTimeDetectLayout("1436280728", "")
aTime, _ := utils.ParseTimeDetectLayout("1436280728", "")
eStoredCdr := &engine.CDR{
ToR: utils.VOICE, OriginID: "e3133bf7-dcde-4daf-9663-9a79ffcef5ad",
OriginHost: "10.0.3.15", Source: "FS_CHANNEL_HANGUP_COMPLETE", RequestType: utils.META_PREPAID,
Tenant: "cgrates.org", Category: "call", Account: "1001", Subject: "1001",
Destination: "1003", SetupTime: setupTime, AnswerTime: aTime,
Usage: time.Duration(66) * time.Second,
ExtraFields: make(map[string]string), Cost: -1}
if storedCdr := ev.AsCDR(""); !reflect.DeepEqual(eStoredCdr, storedCdr) {
t.Errorf("Expecting: %+v, received: %+v", eStoredCdr, storedCdr)
}
}
func TestFsEvAsCGREvent(t *testing.T) {
timezone := config.CgrConfig().DefaultTimezone
ev := NewFSEvent(hangupEv)