Documentation ¶
Index ¶
- Constants
- func SliceAsFsArray(slc []string) string
- type AgentRequest
- func (ar *AgentRequest) Field(fldPath utils.PathItems) (val utils.NMInterface, err error)
- func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val any, err error)
- func (ar *AgentRequest) FieldAsString(fldPath []string) (val string, err error)
- func (ar *AgentRequest) ParseField(cfgFld *config.FCTemplate) (out any, err error)
- func (ar *AgentRequest) RemoteHost() net.Addr
- func (ar *AgentRequest) Remove(fullPath *utils.FullPath) error
- func (ar *AgentRequest) RemoveAll(prefix string) error
- func (ar *AgentRequest) Set(fullPath *utils.FullPath, nm utils.NMInterface) (added bool, err error)
- func (ar *AgentRequest) SetFields(tplFlds []*config.FCTemplate) (err error)
- func (ar *AgentRequest) String() string
- type AsteriskAgent
- func (sma *AsteriskAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
- func (sma *AsteriskAgent) ListenAndServe() (err error)
- func (sma *AsteriskAgent) ServiceShutdown() error
- func (sma *AsteriskAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) error
- func (sma *AsteriskAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) error
- type DNSAgent
- type DiameterAgent
- func (da *DiameterAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
- func (da *DiameterAgent) ListenAndServe() error
- func (da *DiameterAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
- func (da *DiameterAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) error
- type DiameterClient
- type FSEvent
- func (fsev FSEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err error)
- func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]any
- func (fsev FSEvent) GetADC(fieldName string) (time.Duration, error)
- func (fsev FSEvent) GetAccount(fieldName string) string
- func (fsev FSEvent) GetAnswerTime(fieldName, timezone string) (t time.Time, err error)
- func (fsev FSEvent) GetCallDestNr(fieldName string) string
- func (fsev FSEvent) GetCategory(fieldName string) string
- func (fsev FSEvent) GetDestination(fieldName string) string
- func (fsev FSEvent) GetDisconnectCause(fieldName string) string
- func (fsev FSEvent) GetDuration(fieldName string) (time.Duration, error)
- func (fsev FSEvent) GetEndTime(fieldName, timezone string) (t time.Time, err error)
- func (fsev FSEvent) GetExtraFields() map[string]string
- func (fsev FSEvent) GetName() string
- func (fsev FSEvent) GetOriginHost() string
- func (fsev FSEvent) GetOriginatorIP(fieldName string) string
- func (fsev FSEvent) GetPdd(fieldName string) (time.Duration, error)
- func (fsev FSEvent) GetReqType(fieldName string) string
- func (fsev FSEvent) GetSessionIds() []string
- func (fsev FSEvent) GetSetupTime(fieldName, timezone string) (t time.Time, err error)
- func (fsev FSEvent) GetSubject(fieldName string) string
- func (fsev FSEvent) GetSupplier(fieldName string) string
- func (fsev FSEvent) GetTenant(fieldName string) string
- func (fsev FSEvent) GetUUID() string
- func (fsev FSEvent) MissingParameter(timezone string) string
- func (fsev FSEvent) ParseEventValue(rsrFld *config.RSRParser, timezone string) (parsed string, err error)
- func (fsev FSEvent) String() (result string)
- func (fsev FSEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
- func (fsev FSEvent) V1InitSessionArgs() (args *sessions.V1InitSessionArgs)
- func (fsev FSEvent) V1TerminateSessionArgs() (args *sessions.V1TerminateSessionArgs)
- type FSsessions
- func (sm *FSsessions) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
- func (sm *FSsessions) Connect() error
- func (sm *FSsessions) Reload()
- func (sm *FSsessions) Shutdown() (err error)
- func (fsa *FSsessions) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
- func (fsa *FSsessions) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) (err error)
- type HTTPAgent
- type KamDlgReply
- type KamEvent
- func (kev KamEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err error)
- func (kev KamEvent) AsKamAuthReply(authArgs *sessions.V1AuthorizeArgs, authReply *sessions.V1AuthorizeReply, ...) (kar *KamReply, err error)
- func (kev KamEvent) AsKamProcessCDRReply(cgrEvWithArgDisp *utils.CGREventWithArgDispatcher, rply *string, rplyErr error) (kar *KamReply, err error)
- func (kev KamEvent) AsKamProcessMessageEmptyReply() (kar *KamReply)
- func (kev KamEvent) AsKamProcessMessageReply(procEvArgs *sessions.V1ProcessMessageArgs, ...) (kar *KamReply, err error)
- func (kev KamEvent) AsMapStringInterface() (mp map[string]any)
- func (kev KamEvent) MissingParameter() bool
- func (kev KamEvent) String() string
- func (kev KamEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
- func (kev KamEvent) V1InitSessionArgs() (args *sessions.V1InitSessionArgs)
- func (kev KamEvent) V1ProcessCDRArgs() (args *utils.CGREventWithArgDispatcher)
- func (kev KamEvent) V1ProcessMessageArgs() (args *sessions.V1ProcessMessageArgs)
- func (kev KamEvent) V1TerminateSessionArgs() (args *sessions.V1TerminateSessionArgs)
- type KamReply
- type KamSessionDisconnect
- type KamailioAgent
- func (ka *KamailioAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
- func (self *KamailioAgent) Connect() (err error)
- func (ka *KamailioAgent) Reload()
- func (self *KamailioAgent) Shutdown() (err error)
- func (ka *KamailioAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
- func (ka *KamailioAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) (err error)
- type RadiusAgent
- type SMAsteriskEvent
- func (smaEv *SMAsteriskEvent) Account() string
- func (smaEv *SMAsteriskEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err error)
- func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]any)
- func (smaEv *SMAsteriskEvent) Category() string
- func (smaEv *SMAsteriskEvent) ChannelID() string
- func (smaEv *SMAsteriskEvent) ChannelState() string
- func (smaEv *SMAsteriskEvent) Destination() string
- func (smaEv *SMAsteriskEvent) DisconnectCause() string
- func (smaEv *SMAsteriskEvent) EventType() string
- func (smaEv *SMAsteriskEvent) ExtraParameters() (extraParams map[string]string)
- func (smaEv *SMAsteriskEvent) OriginHost() string
- func (smaEv *SMAsteriskEvent) OriginatorIP() string
- func (smaEv *SMAsteriskEvent) PDD() string
- func (smaEv *SMAsteriskEvent) RequestType() string
- func (smaEv *SMAsteriskEvent) SetupTime() string
- func (smaEv *SMAsteriskEvent) Subject() string
- func (smaEv *SMAsteriskEvent) Subsystems() string
- func (smaEv *SMAsteriskEvent) Supplier() string
- func (smaEv *SMAsteriskEvent) Tenant() string
- func (smaEv *SMAsteriskEvent) Timestamp() string
- func (smaEv *SMAsteriskEvent) UpdateCGREvent(cgrEv *utils.CGREvent) error
- func (smaEv *SMAsteriskEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
- func (smaEv *SMAsteriskEvent) V1InitSessionArgs(cgrEvDisp utils.CGREventWithArgDispatcher) (args *sessions.V1InitSessionArgs)
- func (smaEv *SMAsteriskEvent) V1TerminateSessionArgs(cgrEvDisp utils.CGREventWithArgDispatcher) (args *sessions.V1TerminateSessionArgs)
Constants ¶
const ( CGRAuthAPP = "cgrates_auth" CGRMaxSessionTime = "CGRMaxSessionTime" CGRSupplier = "CGRSupplier" ARIStasisStart = "StasisStart" ARIChannelStateChange = "ChannelStateChange" ARIChannelDestroyed = "ChannelDestroyed" SMAAuthorization = "SMA_AUTHORIZATION" SMASessionStart = "SMA_SESSION_START" SMASessionTerminate = "SMA_SESSION_TERMINATE" ARICGRResourceAllocation = "CGRResourceAllocation" )
constants used by AsteriskAgent
const ( // Freswitch event proprities names SUBJECT = "variable_" + utils.CGR_SUBJECT ACCOUNT = "variable_" + utils.CGR_ACCOUNT DESTINATION = "variable_" + utils.CGR_DESTINATION REQTYPE = "variable_" + utils.CGR_REQTYPE //prepaid or postpaid CATEGORY = "variable_" + utils.CGR_CATEGORY VAR_CGR_SUPPLIER = "variable_" + utils.CGR_SUPPLIER UUID = "Unique-ID" // -Unique ID for this call leg CSTMID = "variable_" + utils.CGR_TENANT CALL_DEST_NR = "Caller-Destination-Number" SIP_REQ_USER = "variable_sip_req_user" PARK_TIME = "Caller-Profile-Created-Time" SETUP_TIME = "Caller-Channel-Created-Time" ANSWER_TIME = "Caller-Channel-Answered-Time" END_TIME = "Caller-Channel-Hangup-Time" DURATION = "variable_billsec" NAME = "Event-Name" HEARTBEAT = "HEARTBEAT" ANSWER = "CHANNEL_ANSWER" HANGUP = "CHANNEL_HANGUP_COMPLETE" PARK = "CHANNEL_PARK" AUTH_OK = "AUTH_OK" DISCONNECT = "SWITCH DISCONNECT" MANAGER_REQUEST = "MANAGER_REQUEST" USERNAME = "Caller-Username" FS_IPv4 = "FreeSWITCH-IPv4" HANGUP_CAUSE = "Hangup-Cause" PDD_MEDIA_MS = "variable_progress_mediamsec" PDD_NOMEDIA_MS = "variable_progressmsec" IGNOREPARK = "variable_cgr_ignorepark" FS_VARPREFIX = "variable_" VarCGRFlags = "variable_" + utils.CGRFlags CGRResourceAllocation = "cgr_resource_allocation" VAR_CGR_DISCONNECT_CAUSE = "variable_" + utils.CGR_DISCONNECT_CAUSE VAR_CGR_CMPUTELCR = "variable_" + utils.CGR_COMPUTELCR FsConnID = "FsConnID" // used to share connID info in event for remote disconnects VarAnswerEpoch = "variable_answer_epoch" VarCGRACD = "variable_" + utils.CGR_ACD VarCGROriginHost = "variable_" + utils.CGROriginHost )
const ( EVENT = "event" CGR_AUTH_REQUEST = "CGR_AUTH_REQUEST" CGR_AUTH_REPLY = "CGR_AUTH_REPLY" CGR_SESSION_DISCONNECT = "CGR_SESSION_DISCONNECT" CGR_CALL_START = "CGR_CALL_START" CGR_CALL_END = "CGR_CALL_END" CGR_PROCESS_MESSAGE = "CGR_PROCESS_MESSAGE" CGR_PROCESS_CDR = "CGR_PROCESS_CDR" KamTRIndex = "tr_index" KamTRLabel = "tr_label" KamHashEntry = "h_entry" KamHashID = "h_id" KamReplyRoute = "reply_route" EvapiConnID = "EvapiConnID" // used to share connID info in event for remote disconnects CGR_DLG_LIST = "CGR_DLG_LIST" )
const ( QueryType = "QueryType" E164Address = "E164Address" QueryName = "QueryName" DomainName = "DomainName" )
const ( MetaRadReqType = "*radReqType" MetaRadAuth = "*radAuth" MetaRadAcctStart = "*radAcctStart" MetaRadReplyCode = "*radReplyCode" )
Variables ¶
This section is empty.
Functions ¶
func SliceAsFsArray ¶
Converts a slice of strings into a FS array string, contains len(array) at first index since FS does not support len(ARRAY::) for now
Types ¶
type AgentRequest ¶
type AgentRequest struct { Request utils.DataProvider // request Vars utils.NavigableMap2 // shared data CGRRequest *utils.OrderedNavigableMap // Used in reply to access the request that was send CGRReply *utils.NavigableMap2 Reply *utils.OrderedNavigableMap Tenant string Timezone string Header utils.DataProvider Trailer utils.DataProvider // contains filtered or unexported fields }
AgentRequest represents data related to one request towards agent implements utils.DataProvider so we can pass it to filters
func NewAgentRequest ¶
func NewAgentRequest(req utils.DataProvider, vars utils.NavigableMap2, cgrRply *utils.NavigableMap2, rply *utils.OrderedNavigableMap, tntTpl config.RSRParsers, dfltTenant, timezone string, filterS *engine.FilterS, header, trailer utils.DataProvider) (ar *AgentRequest)
NewAgentRequest returns a new AgentRequest
func (*AgentRequest) Field ¶ added in v0.10.1
func (ar *AgentRequest) Field(fldPath utils.PathItems) (val utils.NMInterface, err error)
Field implements utils.NMInterface
func (*AgentRequest) FieldAsInterface ¶
func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val any, err error)
FieldAsInterface implements utils.DataProvider
func (*AgentRequest) FieldAsString ¶
func (ar *AgentRequest) FieldAsString(fldPath []string) (val string, err error)
FieldAsString implements utils.DataProvider
func (*AgentRequest) ParseField ¶
func (ar *AgentRequest) ParseField( cfgFld *config.FCTemplate) (out any, err error)
ParseField outputs the value based on the template item
func (*AgentRequest) RemoteHost ¶
func (ar *AgentRequest) RemoteHost() net.Addr
RemoteHost implements utils.DataProvider
func (*AgentRequest) Remove ¶ added in v0.10.1
func (ar *AgentRequest) Remove(fullPath *utils.FullPath) error
Remove deletes the fields found at path with the given prefix
func (*AgentRequest) RemoveAll ¶ added in v0.10.1
func (ar *AgentRequest) RemoveAll(prefix string) error
RemoveAll deletes all fields at given prefix
func (*AgentRequest) Set ¶ added in v0.10.1
func (ar *AgentRequest) Set(fullPath *utils.FullPath, nm utils.NMInterface) (added bool, err error)
Set implements utils.NMInterface
func (*AgentRequest) SetFields ¶
func (ar *AgentRequest) SetFields(tplFlds []*config.FCTemplate) (err error)
SetFields will populate fields of AgentRequest out of templates
func (*AgentRequest) String ¶
func (ar *AgentRequest) String() string
String implements utils.DataProvider
type AsteriskAgent ¶
type AsteriskAgent struct {
// contains filtered or unexported fields
}
AsteriskAgent used to cominicate with asterisk
func NewAsteriskAgent ¶
func NewAsteriskAgent(cgrCfg *config.CGRConfig, astConnIdx int, connMgr *engine.ConnManager) (*AsteriskAgent, error)
NewAsteriskAgent constructs a new Asterisk Agent
func (*AsteriskAgent) Call ¶
func (sma *AsteriskAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
Call implements birpc.ClientConnector interface
func (*AsteriskAgent) ListenAndServe ¶
func (sma *AsteriskAgent) ListenAndServe() (err error)
ListenAndServe is called to start the service
func (*AsteriskAgent) ServiceShutdown ¶
func (sma *AsteriskAgent) ServiceShutdown() error
ServiceShutdown is called to shutdown the service
func (*AsteriskAgent) V1DisconnectSession ¶
func (sma *AsteriskAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) error
V1DisconnectSession is internal method to disconnect session in asterisk
func (*AsteriskAgent) V1GetActiveSessionIDs ¶
func (sma *AsteriskAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) error
V1GetActiveSessionIDs is internal method to get all active sessions in asterisk
type DNSAgent ¶
type DNSAgent struct {
// contains filtered or unexported fields
}
DNSAgent translates DNS requests towards CGRateS infrastructure
func NewDNSAgent ¶
func NewDNSAgent(cgrCfg *config.CGRConfig, fltrS *engine.FilterS, connMgr *engine.ConnManager) (da *DNSAgent, err error)
NewDNSAgent is the constructor for DNSAgent
func (*DNSAgent) ListenAndServe ¶
ListenAndServe will run the DNS handler doing also the connection to listen address
type DiameterAgent ¶
type DiameterAgent struct {
// contains filtered or unexported fields
}
func NewDiameterAgent ¶
func NewDiameterAgent(cgrCfg *config.CGRConfig, filterS *engine.FilterS, connMgr *engine.ConnManager) (*DiameterAgent, error)
func (*DiameterAgent) Call ¶
func (da *DiameterAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
birpc.ClientConnector interface
func (*DiameterAgent) ListenAndServe ¶
func (da *DiameterAgent) ListenAndServe() error
ListenAndServe is called when DiameterAgent is started, usually from within cmd/cgr-engine
func (*DiameterAgent) V1DisconnectSession ¶
func (da *DiameterAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
V1DisconnectSession is part of the sessions.BiRPClient
func (*DiameterAgent) V1GetActiveSessionIDs ¶
func (da *DiameterAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) error
V1GetActiveSessionIDs is part of the sessions.BiRPClient
type DiameterClient ¶
type DiameterClient struct {
// contains filtered or unexported fields
}
func NewDiameterClient ¶
func (*DiameterClient) ReceivedMessage ¶
func (dc *DiameterClient) ReceivedMessage(rplyTimeout time.Duration) *diam.Message
Returns the message out of received buffer
func (*DiameterClient) SendMessage ¶
func (dc *DiameterClient) SendMessage(m *diam.Message) error
type FSEvent ¶
Event type holding a mapping of all event's proprieties
func NewFSEvent ¶
func (FSEvent) AsCGREvent ¶
AsCGREvent converts FSEvent into CGREvent
func (FSEvent) AsMapStringInterface ¶
Used with RLs
func (FSEvent) GetAnswerTime ¶
func (FSEvent) GetCallDestNr ¶
Original dialed destination number, useful in case of unpark
func (FSEvent) GetCategory ¶
func (FSEvent) GetDestination ¶
Charging destination number
func (FSEvent) GetDisconnectCause ¶
func (FSEvent) GetDuration ¶
func (FSEvent) GetEndTime ¶
func (FSEvent) GetExtraFields ¶
func (FSEvent) GetOriginHost ¶
GetOriginHost returns the first non empty between: fsev[VarCGROriginHost], conns[connId].cfg.Alias and fsev[FS_IPv4]
func (FSEvent) GetOriginatorIP ¶
func (FSEvent) GetReqType ¶
func (FSEvent) GetSessionIds ¶
func (FSEvent) GetSetupTime ¶
func (FSEvent) GetSubject ¶
Rating subject being charged
func (FSEvent) GetSupplier ¶
func (FSEvent) MissingParameter ¶
func (FSEvent) ParseEventValue ¶
func (fsev FSEvent) ParseEventValue(rsrFld *config.RSRParser, timezone string) (parsed string, err error)
Used in derived charging and sittuations when we need to run regexp on fields
func (FSEvent) V1AuthorizeArgs ¶
func (fsev FSEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
V1AuthorizeArgs returns the arguments used in SMGv1.Authorize
func (FSEvent) V1InitSessionArgs ¶
func (fsev FSEvent) V1InitSessionArgs() (args *sessions.V1InitSessionArgs)
V1InitSessionArgs returns the arguments used in SessionSv1.InitSession
func (FSEvent) V1TerminateSessionArgs ¶
func (fsev FSEvent) V1TerminateSessionArgs() (args *sessions.V1TerminateSessionArgs)
V1TerminateSessionArgs returns the arguments used in SMGv1.TerminateSession
type FSsessions ¶
type FSsessions struct {
// contains filtered or unexported fields
}
The freeswitch session manager type holding a buffer for the network connection and the active sessions
func NewFSsessions ¶
func NewFSsessions(fsAgentConfig *config.FsAgentCfg, timezone string, connMgr *engine.ConnManager) (fsa *FSsessions)
func (*FSsessions) Connect ¶
func (sm *FSsessions) Connect() error
Connects to the freeswitch mod_event_socket server and starts listening for events.
func (*FSsessions) Reload ¶
func (sm *FSsessions) Reload()
Reload recreates the connection buffers only used on reload
func (*FSsessions) Shutdown ¶
func (sm *FSsessions) Shutdown() (err error)
Shutdown stops all connected fsock connections
func (*FSsessions) V1DisconnectSession ¶
func (fsa *FSsessions) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
V1DisconnectSession internal method to disconnect session in FreeSWITCH
func (*FSsessions) V1GetActiveSessionIDs ¶
func (fsa *FSsessions) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) (err error)
type HTTPAgent ¶
type HTTPAgent struct {
// contains filtered or unexported fields
}
HTTPAgent is a handler for HTTP requests
func NewHTTPAgent ¶
func NewHTTPAgent(connMgr *engine.ConnManager, sessionConns []string, filterS *engine.FilterS, dfltTenant, reqPayload, rplyPayload string, reqProcessors []*config.RequestProcessor) *HTTPAgent
NewHttpAgent will construct a HTTPAgent
type KamDlgReply ¶
type KamDlgReply struct { Event string Jsonrpl_body *kamJsonDlgBody }
func NewKamDlgReply ¶
func NewKamDlgReply(kamEvData []byte) (rpl KamDlgReply, err error)
NewKamDlgReply parses bytes received over the wire from Kamailio into KamDlgReply
func (*KamDlgReply) String ¶
func (kdr *KamDlgReply) String() string
type KamEvent ¶
KamEvent represents one event received from Kamailio
func NewKamEvent ¶
NewKamEvent parses bytes received over the wire from Kamailio into KamEvent
func (KamEvent) AsCGREvent ¶
AsCDR converts KamEvent into CGREvent
func (KamEvent) AsKamAuthReply ¶
func (kev KamEvent) AsKamAuthReply(authArgs *sessions.V1AuthorizeArgs, authReply *sessions.V1AuthorizeReply, rplyErr error) (kar *KamReply, err error)
AsKamAuthReply builds up a Kamailio AuthReply based on arguments and reply from SessionS
func (KamEvent) AsKamProcessCDRReply ¶
func (kev KamEvent) AsKamProcessCDRReply(cgrEvWithArgDisp *utils.CGREventWithArgDispatcher, rply *string, rplyErr error) (kar *KamReply, err error)
AsKamProcessEventReply builds up a Kamailio ProcessEvent based on arguments and reply from SessionS
func (KamEvent) AsKamProcessMessageEmptyReply ¶
AsKamProcessEventEmptyReply builds up a Kamailio ProcessEventEmpty
func (KamEvent) AsKamProcessMessageReply ¶
func (kev KamEvent) AsKamProcessMessageReply(procEvArgs *sessions.V1ProcessMessageArgs, procEvReply *sessions.V1ProcessMessageReply, rplyErr error) (kar *KamReply, err error)
AsKamProcessEventReply builds up a Kamailio ProcessEvent based on arguments and reply from SessionS
func (KamEvent) AsMapStringInterface ¶
AsMapStringIface converts KamEvent into event used by other subsystems
func (KamEvent) MissingParameter ¶
func (KamEvent) V1AuthorizeArgs ¶
func (kev KamEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
func (KamEvent) V1InitSessionArgs ¶
func (kev KamEvent) V1InitSessionArgs() (args *sessions.V1InitSessionArgs)
V1InitSessionArgs returns the arguments used in SessionSv1.InitSession
func (KamEvent) V1ProcessCDRArgs ¶
func (kev KamEvent) V1ProcessCDRArgs() (args *utils.CGREventWithArgDispatcher)
V1ProcessCDRArgs returns the arguments used in SessionSv1.ProcessCDR
func (KamEvent) V1ProcessMessageArgs ¶
func (kev KamEvent) V1ProcessMessageArgs() (args *sessions.V1ProcessMessageArgs)
V1ProcessMessageArgs returns the arguments used in SessionSv1.ProcessMessage
func (KamEvent) V1TerminateSessionArgs ¶
func (kev KamEvent) V1TerminateSessionArgs() (args *sessions.V1TerminateSessionArgs)
V1TerminateSessionArgs returns the arguments used in SMGv1.TerminateSession
type KamReply ¶
type KamReply struct { Event string // Kamailio will use this to differentiate between requests and replies TransactionIndex string // Original transaction index TransactionLabel string // Original transaction label Attributes string ResourceAllocation string MaxUsage int // Maximum session time in case of success, -1 for unlimited Suppliers string // List of suppliers, comma separated Thresholds string StatQueues string Error string // Reply in case of error }
KamReply will be used to send back to kamailio from Authrization,ProcessEvent and ProcessEvent empty (pingPong)
type KamSessionDisconnect ¶
func NewKamSessionDisconnect ¶
func NewKamSessionDisconnect(hEntry, hID, reason string) *KamSessionDisconnect
func (*KamSessionDisconnect) String ¶
func (self *KamSessionDisconnect) String() string
type KamailioAgent ¶
type KamailioAgent struct {
// contains filtered or unexported fields
}
func NewKamailioAgent ¶
func NewKamailioAgent(kaCfg *config.KamAgentCfg, connMgr *engine.ConnManager, timezone string) (ka *KamailioAgent)
func (*KamailioAgent) Call ¶
func (ka *KamailioAgent) Call(ctx *context.Context, serviceMethod string, args any, reply any) error
birpc.ClientConnector interface
func (*KamailioAgent) Connect ¶
func (self *KamailioAgent) Connect() (err error)
func (*KamailioAgent) Reload ¶
func (ka *KamailioAgent) Reload()
Reload recreates the connection buffers only used on reload
func (*KamailioAgent) Shutdown ¶
func (self *KamailioAgent) Shutdown() (err error)
func (*KamailioAgent) V1DisconnectSession ¶
func (ka *KamailioAgent) V1DisconnectSession(args utils.AttrDisconnectSession, reply *string) (err error)
Internal method to disconnect session in Kamailio
func (*KamailioAgent) V1GetActiveSessionIDs ¶
func (ka *KamailioAgent) V1GetActiveSessionIDs(ignParam string, sessionIDs *[]*sessions.SessionID) (err error)
V1GetActiveSessionIDs returns a list of CGRIDs based on active sessions from agent
type RadiusAgent ¶
type RadiusAgent struct {
// contains filtered or unexported fields
}
func NewRadiusAgent ¶
func NewRadiusAgent(cgrCfg *config.CGRConfig, filterS *engine.FilterS, connMgr *engine.ConnManager) (ra *RadiusAgent, err error)
func (*RadiusAgent) ListenAndServe ¶
func (ra *RadiusAgent) ListenAndServe(stopChan <-chan struct{}) (err error)
type SMAsteriskEvent ¶
type SMAsteriskEvent struct {
// contains filtered or unexported fields
}
func NewSMAsteriskEvent ¶
func NewSMAsteriskEvent(ariEv map[string]any, asteriskIP, asteriskAlias string) *SMAsteriskEvent
func (*SMAsteriskEvent) Account ¶
func (smaEv *SMAsteriskEvent) Account() string
func (*SMAsteriskEvent) AsCGREvent ¶
func (smaEv *SMAsteriskEvent) AsCGREvent(timezone string) (cgrEv *utils.CGREvent, err error)
AsCDR converts AsteriskEvent into CGREvent
func (*SMAsteriskEvent) AsMapStringInterface ¶
func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]any)
func (*SMAsteriskEvent) Category ¶
func (smaEv *SMAsteriskEvent) Category() string
func (*SMAsteriskEvent) ChannelID ¶
func (smaEv *SMAsteriskEvent) ChannelID() string
func (*SMAsteriskEvent) ChannelState ¶
func (smaEv *SMAsteriskEvent) ChannelState() string
func (*SMAsteriskEvent) Destination ¶
func (smaEv *SMAsteriskEvent) Destination() string
func (*SMAsteriskEvent) DisconnectCause ¶
func (smaEv *SMAsteriskEvent) DisconnectCause() string
func (*SMAsteriskEvent) EventType ¶
func (smaEv *SMAsteriskEvent) EventType() string
func (*SMAsteriskEvent) ExtraParameters ¶
func (smaEv *SMAsteriskEvent) ExtraParameters() (extraParams map[string]string)
func (*SMAsteriskEvent) OriginHost ¶
func (smaEv *SMAsteriskEvent) OriginHost() string
func (*SMAsteriskEvent) OriginatorIP ¶
func (smaEv *SMAsteriskEvent) OriginatorIP() string
func (*SMAsteriskEvent) PDD ¶
func (smaEv *SMAsteriskEvent) PDD() string
func (*SMAsteriskEvent) RequestType ¶
func (smaEv *SMAsteriskEvent) RequestType() string
func (*SMAsteriskEvent) SetupTime ¶
func (smaEv *SMAsteriskEvent) SetupTime() string
func (*SMAsteriskEvent) Subject ¶
func (smaEv *SMAsteriskEvent) Subject() string
func (*SMAsteriskEvent) Subsystems ¶
func (smaEv *SMAsteriskEvent) Subsystems() string
func (*SMAsteriskEvent) Supplier ¶
func (smaEv *SMAsteriskEvent) Supplier() string
func (*SMAsteriskEvent) Tenant ¶
func (smaEv *SMAsteriskEvent) Tenant() string
func (*SMAsteriskEvent) Timestamp ¶
func (smaEv *SMAsteriskEvent) Timestamp() string
func (*SMAsteriskEvent) UpdateCGREvent ¶
func (smaEv *SMAsteriskEvent) UpdateCGREvent(cgrEv *utils.CGREvent) error
func (*SMAsteriskEvent) V1AuthorizeArgs ¶
func (smaEv *SMAsteriskEvent) V1AuthorizeArgs() (args *sessions.V1AuthorizeArgs)
func (*SMAsteriskEvent) V1InitSessionArgs ¶
func (smaEv *SMAsteriskEvent) V1InitSessionArgs(cgrEvDisp utils.CGREventWithArgDispatcher) (args *sessions.V1InitSessionArgs)
func (*SMAsteriskEvent) V1TerminateSessionArgs ¶
func (smaEv *SMAsteriskEvent) V1TerminateSessionArgs(cgrEvDisp utils.CGREventWithArgDispatcher) (args *sessions.V1TerminateSessionArgs)