diff --git a/agents/asterisk_event.go b/agents/asterisk_event.go index db305170c..e0d0b178e 100644 --- a/agents/asterisk_event.go +++ b/agents/asterisk_event.go @@ -144,7 +144,7 @@ func (smaEv *SMAsteriskEvent) Destination() string { } func (smaEv *SMAsteriskEvent) RequestType() string { - return smaEv.cachedFields[utils.CGRReqType] + return utils.FirstNonEmpty(smaEv.cachedFields[utils.CGRReqType], config.CgrConfig().GeneralCfg().DefaultReqType) } func (smaEv *SMAsteriskEvent) Tenant() string { diff --git a/agents/asterisk_event_test.go b/agents/asterisk_event_test.go index 3ea099a64..a274bf6b0 100644 --- a/agents/asterisk_event_test.go +++ b/agents/asterisk_event_test.go @@ -211,7 +211,7 @@ func TestSMAEventRequestType(t *testing.T) { } ev = make(map[string]interface{}) // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") - if smaEv.RequestType() != "" { + if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { t.Error("Received:", smaEv.RequestType()) } } @@ -459,3 +459,19 @@ func TestSMAEventV1TerminateSessionArgs(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", utils.ToJSON(exp2), utils.ToJSON(rcv)) } } + +func TestRequestType(t *testing.T) { + var ev map[string]interface{} + if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { + t.Error(err) + } + smaEv := NewSMAsteriskEvent(ev, "127.0.0.1", "") + if smaEv.RequestType() != "*prepaid" { + t.Error("Received:", smaEv.RequestType()) + } + ev = make(map[string]interface{}) // Clear previous data + smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") + if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { + t.Error("Received:", smaEv.RequestType()) + } +} diff --git a/agents/kamevent.go b/agents/kamevent.go index 1869cf914..07dc829f1 100644 --- a/agents/kamevent.go +++ b/agents/kamevent.go @@ -147,6 +147,9 @@ func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) { if _, has := mp[utils.Source]; !has { mp[utils.Source] = utils.KamailioAgent } + if _, has := mp[utils.RequestType]; !has { + mp[utils.RequestType] = config.CgrConfig().GeneralCfg().DefaultReqType + } return } diff --git a/agents/kamevent_test.go b/agents/kamevent_test.go index a6cdc9841..0bfaf8082 100644 --- a/agents/kamevent_test.go +++ b/agents/kamevent_test.go @@ -102,6 +102,7 @@ func TestKamEvAsMapStringInterface(t *testing.T) { expMp["from_tag"] = "bf71ad59" expMp["to_tag"] = "7351fecf" expMp["cgr_reqtype"] = utils.MetaPostpaid + expMp[utils.RequestType] = utils.MetaRated expMp[utils.Source] = utils.KamailioAgent rcv := kamEv.AsMapStringInterface() if !reflect.DeepEqual(expMp, rcv) { diff --git a/data/ansible/calls/asterisk/main.yaml b/data/ansible/calls/asterisk/main.yaml index 5628e2a0d..9483e2d68 100644 --- a/data/ansible/calls/asterisk/main.yaml +++ b/data/ansible/calls/asterisk/main.yaml @@ -74,7 +74,7 @@ # Install and config CGRateS - name: Install and config CGRateS include: cgrates.yaml - + # Configure Asterisk - name: Download Asterisk become: yes