mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-14 20:59:53 +05:00
Updated fsagent OriginHost
This commit is contained in:
committed by
Dan Christian Bogos
parent
93ff0908b9
commit
f4e0685659
@@ -148,7 +148,7 @@ func (sm *FSsessions) onChannelPark(fsev FSEvent, connId string) {
|
||||
if fsev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Not for us
|
||||
return
|
||||
}
|
||||
fsev[VarCGROriginHost] = sm.conns[connId].cfg.Alias
|
||||
fsev[VarCGROriginHost] = utils.FirstNonEmpty(fsev[VarCGROriginHost], sm.conns[connId].cfg.Alias) // rewrite the OriginHost variable if it is empty
|
||||
authArgs := fsev.V1AuthorizeArgs()
|
||||
authArgs.CGREvent.Event[FsConnID] = connId // Attach the connection ID
|
||||
var authReply sessions.V1AuthorizeReply
|
||||
@@ -228,7 +228,7 @@ func (sm *FSsessions) onChannelAnswer(fsev FSEvent, connId string) {
|
||||
utils.FreeSWITCHAgent, err.Error(), VarCGROriginHost))
|
||||
return
|
||||
}
|
||||
fsev[VarCGROriginHost] = sm.conns[connId].cfg.Alias
|
||||
fsev[VarCGROriginHost] = utils.FirstNonEmpty(fsev[VarCGROriginHost], sm.conns[connId].cfg.Alias) // rewrite the OriginHost variable if it is empty
|
||||
chanUUID := fsev.GetUUID()
|
||||
if missing := fsev.MissingParameter(sm.timezone); missing != "" {
|
||||
sm.disconnectSession(connId, chanUUID, "",
|
||||
@@ -253,8 +253,8 @@ func (sm *FSsessions) onChannelHangupComplete(fsev FSEvent, connId string) {
|
||||
return
|
||||
}
|
||||
var reply string
|
||||
fsev[VarCGROriginHost] = sm.conns[connId].cfg.Alias
|
||||
if fsev[VarAnswerEpoch] != "0" { // call was answered
|
||||
fsev[VarCGROriginHost] = utils.FirstNonEmpty(fsev[VarCGROriginHost], sm.conns[connId].cfg.Alias) // rewrite the OriginHost variable if it is empty
|
||||
if fsev[VarAnswerEpoch] != "0" { // call was answered
|
||||
terminateSessionArgs := fsev.V1TerminateSessionArgs()
|
||||
terminateSessionArgs.CGREvent.Event[FsConnID] = connId // Attach the connection ID in case we need to create a session and disconnect it
|
||||
if err := sm.sS.Call(utils.SessionSv1TerminateSession,
|
||||
|
||||
@@ -290,6 +290,11 @@ func (fsev FSEvent) GetOriginatorIP(fieldName string) string {
|
||||
return utils.FirstNonEmpty(fsev[fieldName], fsev[VarCGROriginHost], fsev[FS_IPv4])
|
||||
}
|
||||
|
||||
// GetOriginHost returns the first non empty between: fsev[VarCGROriginHost], conns[connId].cfg.Alias and fsev[FS_IPv4]
|
||||
func (fsev FSEvent) GetOriginHost() string {
|
||||
return utils.FirstNonEmpty(fsev[VarCGROriginHost], fsev[FS_IPv4])
|
||||
}
|
||||
|
||||
func (fsev FSEvent) GetExtraFields() map[string]string {
|
||||
extraFields := make(map[string]string)
|
||||
for _, fldRule := range config.CgrConfig().FsAgentCfg().ExtraFields {
|
||||
@@ -311,7 +316,7 @@ func (fsev FSEvent) ParseEventValue(rsrFld *config.RSRParser, timezone string) (
|
||||
case utils.OriginID:
|
||||
return rsrFld.ParseValue(fsev.GetUUID())
|
||||
case utils.OriginHost:
|
||||
return rsrFld.ParseValue(utils.FirstNonEmpty(fsev[VarCGROriginHost], fsev[FS_IPv4]))
|
||||
return rsrFld.ParseValue(fsev.GetOriginHost())
|
||||
case utils.Source:
|
||||
return rsrFld.ParseValue("FS_EVENT")
|
||||
case utils.RequestType:
|
||||
@@ -379,7 +384,7 @@ func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]interface{}
|
||||
}
|
||||
mp[utils.ToR] = utils.VOICE
|
||||
mp[utils.OriginID] = fsev.GetUUID()
|
||||
mp[utils.OriginHost] = fsev.GetOriginatorIP(utils.META_DEFAULT)
|
||||
mp[utils.OriginHost] = fsev.GetOriginHost()
|
||||
mp[utils.Source] = "FS_" + fsev.GetName()
|
||||
mp[utils.RequestType] = fsev.GetReqType(utils.META_DEFAULT)
|
||||
mp[utils.Direction] = fsev.GetDirection(utils.META_DEFAULT)
|
||||
|
||||
Reference in New Issue
Block a user