Updated OriginHost to be used uniform

This commit is contained in:
Tripon Alexandru-Ionut
2019-05-31 14:48:16 +03:00
committed by Dan Christian Bogos
parent 8d70e355d7
commit ee100d423d
3 changed files with 12 additions and 5 deletions

View File

@@ -158,6 +158,10 @@ func (smaEv *SMAsteriskEvent) Subsystems() string {
return smaEv.cachedFields[utils.CGRSubsystems]
}
func (smaEv *SMAsteriskEvent) OriginHost() string {
return smaEv.cachedFields[utils.CGROriginHost]
}
func (smaEv *SMAsteriskEvent) DisconnectCause() string {
cachedKey := utils.CGR_DISCONNECT_CAUSE
cachedVal, hasIt := smaEv.cachedFields[cachedKey]
@@ -235,7 +239,7 @@ func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]interface{})
if smaEv.Subject() != "" {
mp[utils.Subject] = smaEv.Subject()
}
mp[utils.OriginHost] = smaEv.OriginatorIP()
mp[utils.OriginHost] = utils.FirstNonEmpty(smaEv.OriginHost(), smaEv.OriginatorIP())
mp[utils.Account] = smaEv.Account()
mp[utils.Destination] = smaEv.Destination()
mp[utils.SetupTime] = smaEv.SetupTime()

View File

@@ -122,7 +122,7 @@ func (ka *KamailioAgent) onCgrAuth(evData []byte, connID string) {
utils.KamailioAgent, kev[utils.OriginID]))
return
}
authArgs.CGREvent.Event[utils.OriginHost] = ka.conns[connID].RemoteAddr().String()
authArgs.CGREvent.Event[utils.OriginHost] = utils.FirstNonEmpty(authArgs.CGREvent.Event[utils.OriginHost].(string), ka.conns[connID].RemoteAddr().String())
authArgs.CGREvent.Event[EvapiConnID] = connID // Attach the connection ID
var authReply sessions.V1AuthorizeReply
err = ka.sessionS.Call(utils.SessionSv1AuthorizeEvent, authArgs, &authReply)
@@ -158,7 +158,7 @@ func (ka *KamailioAgent) onCallStart(evData []byte, connID string) {
return
}
initSessionArgs.CGREvent.Event[EvapiConnID] = connID // Attach the connection ID so we can properly disconnect later
initSessionArgs.CGREvent.Event[utils.OriginHost] = ka.conns[connID].RemoteAddr().String()
initSessionArgs.CGREvent.Event[utils.OriginHost] = utils.FirstNonEmpty(initSessionArgs.CGREvent.Event[utils.OriginHost].(string), ka.conns[connID].RemoteAddr().String())
var initReply sessions.V1InitSessionReply
if err := ka.sessionS.Call(utils.SessionSv1InitiateSession,
@@ -195,7 +195,7 @@ func (ka *KamailioAgent) onCallEnd(evData []byte, connID string) {
return
}
var reply string
tsArgs.CGREvent.Event[utils.OriginHost] = ka.conns[connID].RemoteAddr().String()
tsArgs.CGREvent.Event[utils.OriginHost] = utils.FirstNonEmpty(tsArgs.CGREvent.Event[utils.OriginHost].(string), ka.conns[connID].RemoteAddr().String())
tsArgs.CGREvent.Event[EvapiConnID] = connID // Attach the connection ID in case we need to create a session and disconnect it
if err := ka.sessionS.Call(utils.SessionSv1TerminateSession,
tsArgs, &reply); err != nil {
@@ -209,7 +209,7 @@ func (ka *KamailioAgent) onCallEnd(evData []byte, connID string) {
if err != nil {
return
}
cgrEv.Event[utils.OriginHost] = ka.conns[connID].RemoteAddr().String()
cgrEv.Event[utils.OriginHost] = utils.FirstNonEmpty(cgrEv.Event[utils.OriginHost].(string), ka.conns[connID].RemoteAddr().String())
cgrArgs := cgrEv.ConsumeArgs(strings.Index(kev[utils.CGRSubsystems], utils.MetaDispatchers) != -1, false)
if err := ka.sessionS.Call(utils.SessionSv1ProcessCDR,
&utils.CGREventWithArgDispatcher{CGREvent: cgrEv, ArgDispatcher: cgrArgs.ArgDispatcher}, &reply); err != nil {

View File

@@ -118,6 +118,9 @@ func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) {
v += "s" // mark the Usage as seconds
}
if !utils.IsSliceMember(kamReservedEventFields, k) { // reserved attributes not getting into event
if k == utils.CGROriginHost {
mp[utils.OriginHost] = v
}
mp[k] = v
}
}