KamailioAgent: hash_id and hash_entry not longer reserved in events

This commit is contained in:
DanB
2018-03-23 10:12:50 +01:00
parent 71469f88b3
commit ae233df00b
2 changed files with 7 additions and 5 deletions

View File

@@ -44,8 +44,10 @@ const (
EvapiConnID = "EvapiConnID" // used to share connID info in event for remote disconnects
)
var kamReservedFields = []string{EVENT, KamTRIndex, KamTRLabel,
KamHashEntry, KamHashID, KamCGRSubsystems}
var (
kamReservedEventFields = []string{EVENT, KamTRIndex, KamTRLabel, KamCGRSubsystems}
kamReservedCDRFields = append(kamReservedEventFields, KamHashEntry, KamHashID) // HashEntry and id are needed in events for disconnects
)
func NewKamSessionDisconnect(hEntry, hID, reason string) *KamSessionDisconnect {
return &KamSessionDisconnect{
@@ -118,7 +120,7 @@ func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) {
if k == utils.Usage {
v += "s" // mark the Usage as seconds
}
if !utils.IsSliceMember(kamReservedFields, k) { // reserved attributes not getting into event
if !utils.IsSliceMember(kamReservedEventFields, k) { // reserved attributes not getting into event
mp[k] = v
}
}
@@ -131,7 +133,7 @@ func (kev KamEvent) AsCDR(timezone string) (cdr *engine.CDR) {
cdr.ExtraFields = make(map[string]string)
for fld, val := range kev { // first ExtraFields so we can overwrite
if !utils.IsSliceMember(utils.PrimaryCdrFields, fld) &&
!utils.IsSliceMember(kamReservedFields, fld) {
!utils.IsSliceMember(kamReservedCDRFields, fld) {
cdr.ExtraFields[fld] = val
}
}

View File

@@ -81,7 +81,7 @@ func TestSMGBiRPCStartEngine(t *testing.T) {
// Connect rpc client to rater
func TestSMGBiRPCApierRpcConn(t *testing.T) {
time.Sleep(time.Duration(1 * time.Second))
clntHandlers := map[string]interface{}{"SMGClientV1.DisconnectSession": handleDisconnectSession}
clntHandlers := map[string]interface{}{"SessionSv1.DisconnectSession": handleDisconnectSession}
dummyClnt, err := utils.NewBiJSONrpcClient(smgBiRPCCfg.SessionSCfg().ListenBijson,
clntHandlers)
if err != nil { // First attempt is to make sure multiple clients are supported