From 56008b7b090b8efe2ae94ae032d20f484febc94c Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 11 Dec 2018 19:11:39 +0100 Subject: [PATCH] Adding sessions.SessionSClient interface, tests for AsteriskAgent, FreeSWITCHAgent and KamailioAgents for interface implementation --- agents/{asteriskagent.go => astagent.go} | 0 sessions/libsessions.go | 8 ++++++++ 2 files changed, 8 insertions(+) rename agents/{asteriskagent.go => astagent.go} (100%) diff --git a/agents/asteriskagent.go b/agents/astagent.go similarity index 100% rename from agents/asteriskagent.go rename to agents/astagent.go diff --git a/sessions/libsessions.go b/sessions/libsessions.go index 4ba22c691..9e87315c2 100644 --- a/sessions/libsessions.go +++ b/sessions/libsessions.go @@ -26,6 +26,14 @@ import ( "github.com/cgrates/cgrates/utils" ) +// SessionSClient is the interface implemented by Agents which are able to +// communicate bidirectionally with SessionS and remote Communication Switch +type SessionSClient interface { + Call(serviceMethod string, args interface{}, reply interface{}) error + V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error) + V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*SessionID) (err error) +} + // getSessionTTL retrieves SessionTTL setting out of ev // if SessionTTLMaxDelay is present in ev, the return is randomized func getSessionTTL(ev *engine.SafEvent, cfgSessionTTL time.Duration,