Re: [reSIProcate] stuff not in 1.8 branch
FYI - I'm pretty sure all of these changes are related to one feature. The new accounting framework that I put in. Here are the commit notes for anyone who's interested. Reminder - this is on main only and not in 1.8.
Add registration and call/session accounting
--------------------------------------------
-configured/enabled via configuration file
-Session Accounting - When enabled resiprocate will push a JSON formatted
events for sip session related messaging that the proxy receives,
to a persistent message queue that uses berkeleydb backed storage.
The following call events are logged:
SessionCreated - INVITE passing authentiation was received
SessionRouted - received INVITE was forward to a target
SessionRedirected - session was 3xx redirected or REFERed
SessionEstablished - there was 2xx answer to an INVITE (only generate for first 2xx)
SessionCancelled - CANCEL was received
SessionEnded - BYE was received from either end
SessionError - a 4xx, 5xx, or 6xx response was sent to invitor
-Registration Accounting - When enabled resiprocate will push a JSON formatted
events for every registration, re-registration, and unregistration message
received to a persistent message queue that uses berkeleydb backed storage.
The following registration events are logged:
RegistrationAdded - initial registration received
RegistrationRefreshed - registration refresh received / re-register
RegistrationRemoved - registration removed by client / un-register
RegistrationRemovedAll - all contacts registration remove / unregister received
-Consuming Accounting Events:
Users must ensure that the message queues are consumed, or they will grow without
bound. A queuetostream consumer process is provided, that will consume the
events from the message queue and stream them to stdout. This output stream can
be consumed by linux scripting tools and converted to database records or some
other relevant representation of the data.
For example:
./queuetostream ./sessioneventqueue > sessionstreamconsumer.py
./queuetostream ./regeventqueue > regstreamconsumer.py
In the future a MySQL consumer may also be provided in order to update
session accounting records in a MySQL database table.
On Mon, Aug 6, 2012 at 2:28 PM, Daniel Pocock
<daniel@xxxxxxxxxxxxx> wrote:
I notice various things have changed on main but are not in the 1.8
branch for 1.8.5
svn diff \
https://svn.resiprocate.org/rep/resiprocate/branches/resiprocate-1.8 \
https://svn.resiprocate.org/rep/resiprocate/main
I've attached a diff between the branches, here is a summary of the
files that are involved:
ChangeLog
reSIProcate_8_0.sln
resip/dum/RegistrationHandler.hxx
resip/stack/Token.cxx
resip/stack/ParameterHash.gperf
resip/stack/ParameterTypes.hxx
resip/stack/ParameterTypeEnums.hxx
resip/stack/TransportSelector.cxx
resip/stack/gperf_w32.bat
resip/stack/ParameterTypes.cxx
resip/stack/ParameterHash.cxx
resip/stack/Token.hxx
reSIProcate_9_0.sln
repro/VERSION
repro/reprolib_8_0.vcproj
repro/WebAdmin.cxx
repro/Registrar.cxx
repro/ResponseContext.cxx
repro/AccountingCollector.hxx
repro/PersistentMessageQueue.cxx
repro/Proxy.cxx
repro/monkeys/StrictRouteFixup.cxx
repro/monkeys/GeoProximityTargetSorter.cxx
repro/monkeys/GeoProximityTargetSorter.hxx
repro/monkeys/CertificateAuthenticator.hxx
repro/monkeys/AmIResponsible.cxx
repro/reprolib_9_0.vcproj
repro/repro.config
repro/RequestContext.cxx
repro/ReproRunner.cxx
repro/reprolib_10_0.vcxproj
repro/reprolib_10_0.vcxproj.filters
repro/AccountingCollector.cxx
repro/Registrar.hxx
repro/reprocmd/reprocmd.cpp
repro/PersistentMessageQueue.hxx
repro/Proxy.hxx
repro/accountingconsumers/queuetostream_10_0.vcxproj.filters
repro/accountingconsumers/queuetostream.cpp
repro/accountingconsumers/Makefile.am
repro/accountingconsumers/queuetostream_10_0.vcxproj
repro/accountingconsumers/queuetostream_9_0.vcproj
repro/RequestContext.hxx
repro/Makefile.am
reSIProcate_10_0.sln
rutil/cajun/ReleaseNotes.txt
rutil/cajun/json/elements.h
rutil/cajun/json/writer.h
rutil/cajun/json/reader.inl
rutil/cajun/json/visitor.h
rutil/cajun/json/reader.h
rutil/cajun/json/elements.inl
rutil/cajun/json/writer.inl
rutil/cajun/Readme.txt
rutil/TimeLimitFifo.hxx
rutil/WinCompat.hxx
rutil/FileSystem.cxx
rutil/WinCompat.cxx
rutil/FileSystem.hxx
rutil/Makefile.am
configure.ac
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel