Added handling of CDR operation "status" in the register module.

git-svn-id: http://yate.null.ro/svn/yate/trunk@6150 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2016-11-15 16:44:44 +00:00
parent 479cba85a4
commit 0b184401a3
2 changed files with 9 additions and 1 deletions

View File

@ -137,6 +137,9 @@
; billtime=INTERVAL '${billtime} s',ringtime=INTERVAL '${ringtime} s',status='${status}',\
; reason='${reason}' WHERE chan='${chan}' AND time=TIMESTAMP 'EPOCH' + INTERVAL '${time} s'
;cdr_status=UPDATE cdr SET duration=INTERVAL '${duration} s',billtime=INTERVAL '${billtime} s',\
; ringtime=INTERVAL '${ringtime} s' WHERE chan='${chan}' AND time=TIMESTAMP 'EPOCH' + INTERVAL '${time} s'
;cdr_finalize=UPDATE cdr SET address='${address}',direction='${direction}',\
; billid='${billid}',caller='${caller}',called='${called}',duration=INTERVAL '${duration} s',\
; billtime=INTERVAL '${billtime} s',ringtime=INTERVAL '${ringtime} s',status='${status}',\

View File

@ -83,6 +83,7 @@ protected:
String m_name;
String m_queryInitialize;
String m_queryUpdate;
String m_queryStatus;
String m_queryCombined;
bool m_critical;
};
@ -550,15 +551,17 @@ bool CDRHandler::loadQuery()
{
m_queryInitialize = s_cfg.getValue(name(),"cdr_initialize");
m_queryUpdate = s_cfg.getValue(name(),"cdr_update");
m_queryStatus = s_cfg.getValue(name(),"cdr_status");
m_queryCombined = s_cfg.getValue(name(),"cdr_combined");
m_query = s_cfg.getValue(name(),"cdr_finalize");
if (m_query.null())
m_query = s_cfg.getValue(name(),"query");
indirectQuery(m_queryInitialize);
indirectQuery(m_queryUpdate);
indirectQuery(m_queryStatus);
indirectQuery(m_queryCombined);
indirectQuery(m_query);
return m_queryInitialize || m_queryUpdate || m_queryCombined || m_query;
return m_queryInitialize || m_queryUpdate || m_queryStatus || m_queryCombined || m_query;
}
bool CDRHandler::received(Message& msg)
@ -575,6 +578,8 @@ bool CDRHandler::received(Message& msg)
query = m_queryInitialize;
else if (query == YSTRING("update"))
query = m_queryUpdate;
else if (query == YSTRING("status"))
query = m_queryStatus;
else if (query == YSTRING("combined"))
query = m_queryCombined;
else if (query == YSTRING("finalize"))