[reSIProcate] stuff not in 1.8 branch
Scott Godin
sgodin at sipspectrum.com
Tue Aug 7 08:30:38 CDT 2012
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 at pocock.com.au> 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 at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20120807/cba4de6b/attachment.htm>
More information about the resiprocate-devel
mailing list