From 7fa3249d5407159a261d4f97e6056bbc1f26a48e Mon Sep 17 00:00:00 2001 From: arberkatellari Date: Tue, 2 Jul 2024 14:25:29 +0200 Subject: [PATCH] Add Kamailio agent session restoration support --- agents/kamagent.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/agents/kamagent.go b/agents/kamagent.go index cbc663760..83479ad4a 100644 --- a/agents/kamagent.go +++ b/agents/kamagent.go @@ -81,6 +81,11 @@ func (self *KamailioAgent) Connect() (err error) { kamProcessMessageRegex: {self.onCgrProcessMessage}, kamProcessCDRRegex: {self.onCgrProcessCDR}, } + var reply string + // make a call kamailio_agent -> sessions_conns to create an active client needed for syncSessions when restoring sessions, since prior clients are lost when engine shuts down + if err := self.connMgr.Call(self.ctx, self.cfg.SessionSConns, utils.SessionSv1Ping, &utils.CGREvent{}, &reply); err != nil { + return err + } errChan := make(chan error) for connIdx, connCfg := range self.cfg.EvapiConns { if self.conns[connIdx], err = kamevapi.NewKamEvapi(connCfg.Address, connIdx, connCfg.Reconnects, connCfg.MaxReconnectInterval,