mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated config file for ReadTheDocs and update Kamailio agent source.
This commit is contained in:
committed by
Dan Christian Bogos
parent
bdc8064834
commit
cfb3d15d79
@@ -24,7 +24,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/sessions"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
@@ -124,38 +123,10 @@ func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) {
|
||||
mp[k] = v
|
||||
}
|
||||
}
|
||||
mp[utils.EVENT_NAME] = utils.KamailioAgent
|
||||
return
|
||||
}
|
||||
|
||||
// AsCDR converts KamEvent into CDR
|
||||
func (kev KamEvent) AsCDR(timezone string) (cdr *engine.CDR) {
|
||||
cdr = new(engine.CDR)
|
||||
cdr.ExtraFields = make(map[string]string)
|
||||
for fld, val := range kev { // first ExtraFields so we can overwrite
|
||||
if !utils.IsSliceMember(utils.PrimaryCdrFields, fld) &&
|
||||
!utils.IsSliceMember(kamReservedCDRFields, fld) {
|
||||
cdr.ExtraFields[fld] = val
|
||||
}
|
||||
if _, has := mp[utils.Source]; !has {
|
||||
mp[utils.Source] = utils.KamailioAgent
|
||||
}
|
||||
cdr.ToR = utils.VOICE
|
||||
cdr.OriginID = kev[utils.OriginID]
|
||||
cdr.OriginHost = kev[utils.OriginHost]
|
||||
cdr.Source = "KamailioEvent"
|
||||
cdr.RequestType = utils.FirstNonEmpty(kev[utils.RequestType],
|
||||
config.CgrConfig().GeneralCfg().DefaultReqType)
|
||||
cdr.Tenant = utils.FirstNonEmpty(kev[utils.Tenant],
|
||||
config.CgrConfig().GeneralCfg().DefaultTenant)
|
||||
cdr.Category = utils.FirstNonEmpty(kev[utils.Category],
|
||||
config.CgrConfig().GeneralCfg().DefaultCategory)
|
||||
cdr.Account = kev[utils.Account]
|
||||
cdr.Subject = kev[utils.Subject]
|
||||
cdr.Destination = kev[utils.Destination]
|
||||
cdr.SetupTime, _ = utils.ParseTimeDetectLayout(kev[utils.SetupTime], timezone)
|
||||
cdr.AnswerTime, _ = utils.ParseTimeDetectLayout(kev[utils.AnswerTime], timezone)
|
||||
cdr.Usage, _ = utils.ParseDurationWithSecs(kev[utils.Usage])
|
||||
cdr.Cost = -1
|
||||
return cdr
|
||||
return
|
||||
}
|
||||
|
||||
// AsCDR converts KamEvent into CGREvent
|
||||
|
||||
@@ -95,46 +95,13 @@ func TestKamEvAsMapStringInterface(t *testing.T) {
|
||||
expMp["from_tag"] = "bf71ad59"
|
||||
expMp["to_tag"] = "7351fecf"
|
||||
expMp["cgr_reqtype"] = utils.META_POSTPAID
|
||||
expMp[utils.EVENT_NAME] = utils.KamailioAgent
|
||||
expMp[utils.Source] = utils.KamailioAgent
|
||||
rcv := kamEv.AsMapStringInterface()
|
||||
if !reflect.DeepEqual(expMp, rcv) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", expMp, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
func TestKamEvAsCDR(t *testing.T) {
|
||||
timezone := config.CgrConfig().GeneralCfg().DefaultTimezone
|
||||
expMp := make(map[string]string)
|
||||
expMp["cgr_account"] = "1001"
|
||||
expMp["cgr_duration"] = "3"
|
||||
expMp["cgr_pdd"] = "4"
|
||||
expMp["cgr_destination"] = "1002"
|
||||
expMp[utils.CGR_SUPPLIER] = "supplier2"
|
||||
expMp["cgr_answertime"] = "1419839310"
|
||||
expMp[utils.CGR_DISCONNECT_CAUSE] = "200"
|
||||
expMp["callid"] = "46c01a5c249b469e76333fc6bfa87f6a@0:0:0:0:0:0:0:0"
|
||||
expMp["from_tag"] = "bf71ad59"
|
||||
expMp["to_tag"] = "7351fecf"
|
||||
expMp["cgr_reqtype"] = utils.META_POSTPAID
|
||||
kamEv := KamEvent{"event": "CGR_CALL_END",
|
||||
"callid": "46c01a5c249b469e76333fc6bfa87f6a@0:0:0:0:0:0:0:0",
|
||||
"from_tag": "bf71ad59", "to_tag": "7351fecf",
|
||||
"cgr_reqtype": utils.META_POSTPAID, "cgr_account": "1001",
|
||||
"cgr_destination": "1002", "cgr_answertime": "1419839310",
|
||||
"cgr_duration": "3", "cgr_pdd": "4",
|
||||
utils.CGR_SUPPLIER: "supplier2",
|
||||
utils.CGR_DISCONNECT_CAUSE: "200"}
|
||||
eStoredCdr := &engine.CDR{
|
||||
Tenant: "cgrates.org", Category: "call", Source: "KamailioEvent",
|
||||
ToR: "*voice", Usage: 0, RequestType: "*rated",
|
||||
ExtraFields: expMp, Cost: -1,
|
||||
}
|
||||
rcv := kamEv.AsCDR(timezone)
|
||||
if !reflect.DeepEqual(eStoredCdr, rcv) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", eStoredCdr, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
func TestKamEvAsCGREvent(t *testing.T) {
|
||||
timezone := config.CgrConfig().GeneralCfg().DefaultTimezone
|
||||
kamEv := KamEvent{"event": "CGR_CALL_END",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,7 @@ fi
|
||||
# Install the cdre folder
|
||||
if [ ! -d $CDREDIR ]; then
|
||||
mkdir -p $CDREDIR
|
||||
chown $USER:$GROUP $CDREDIR
|
||||
chown -R $USER:$GROUP $CDREDIR
|
||||
fi
|
||||
|
||||
#
|
||||
|
||||
@@ -355,11 +355,11 @@ func testCallCheckThreshold1002Before(t *testing.T) {
|
||||
func testCallStartPjsuaListener(t *testing.T) {
|
||||
var err error
|
||||
acnts := []*engine.PjsuaAccount{
|
||||
&engine.PjsuaAccount{Id: "sip:1001@127.0.0.1",
|
||||
{Id: "sip:1001@127.0.0.1",
|
||||
Username: "1001", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"},
|
||||
&engine.PjsuaAccount{Id: "sip:1002@127.0.0.1",
|
||||
{Id: "sip:1002@127.0.0.1",
|
||||
Username: "1002", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"},
|
||||
&engine.PjsuaAccount{Id: "sip:1003@127.0.0.1",
|
||||
{Id: "sip:1003@127.0.0.1",
|
||||
Username: "1003", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"},
|
||||
}
|
||||
if tutorialCallsPjSuaListener, err = engine.StartPjsuaListener(
|
||||
@@ -382,7 +382,7 @@ func testCallCall1001To1002(t *testing.T) {
|
||||
func testCallGetActiveSessions(t *testing.T) {
|
||||
var reply *[]*sessions.ActiveSession
|
||||
expected := &[]*sessions.ActiveSession{
|
||||
&sessions.ActiveSession{
|
||||
{
|
||||
ReqType: "*prepaid",
|
||||
Tenant: "cgrates.org",
|
||||
Category: "call",
|
||||
@@ -697,8 +697,8 @@ func testCallSyncSessions(t *testing.T) {
|
||||
sourceForCDR = "FS_CHANNEL_ANSWER"
|
||||
numberOfCDR = 2
|
||||
case utils.Kamailio:
|
||||
sourceForCDR = utils.MetaSessionS + "_" + utils.KamailioAgent
|
||||
numberOfCDR = 3 // in case of kamailio we get 3 CDRs (1 from first disconnect)
|
||||
sourceForCDR = utils.KamailioAgent
|
||||
numberOfCDR = 2
|
||||
}
|
||||
// verify cdr
|
||||
var rplCdrs []*engine.ExternalCDR
|
||||
|
||||
Reference in New Issue
Block a user